sub rsp, 0x28
@L00000001:
mov r8, qword ptr gs:[0x0000000000000060]
mov r8, qword ptr ds:[r8+0x18]
lea r12, ds:[r8+0x10]
mov r8, qword ptr ds:[r12]
cld
@L00000002:
mov rdi, qword ptr ds:[r8+0x60]
mov rsi, rcx
@L00000003:
lodsb
test al, al
je short @L00000006
mov ah, byte ptr ds:[rdi]
cmp ah, 0x61
jl short @L00000004
sub ah, 0x20
@L00000004:
cmp ah, al
jne short @L00000005
inc rdi
inc rdi
jmp short @L00000003
@L00000005:
mov r8, qword ptr ds:[r8]
cmp r8, r12
jne short @L00000002
xor rax, rax
jmp @L00000015
@L00000006:
mov rbx, qword ptr ds:[r8+0x30]
mov r9d, dword ptr ds:[rbx+0x3C]
add r9, rbx
add r9, 0x88
mov r13d, dword ptr ds:[r9]
test r13, r13
jne short @L00000007
xor rax, rax
jmp @L00000015
@L00000007:
lea r8, ds:[rbx+r13*1]
mov r14d, dword ptr ds:[r9+0x4]
add r14, r13
mov ecx, dword ptr ds:[r8+0x18]
mov r10d, dword ptr ds:[r8+0x20]
add r10, rbx
dec ecx
@L00000008:
lea r9, ds:[r10+rcx*4]
mov edi, dword ptr ds:[r9]
add rdi, rbx
mov rsi, rdx
@L00000009:
cmpsb
jne short @L00000010
mov al, byte ptr ds:[rsi]
test al, al
je short @L00000011
jmp short @L00000009
@L00000010:
loop short @L00000008
xor rax, rax
jmp short @L00000015
@L00000011:
mov al, byte ptr ds:[rdi]
test al, al
je short @L00000012
jmp short @L00000010
@L00000012:
mov r9d, dword ptr ds:[r8+0x24]
add r9, rbx
mov cx, word ptr ds:[r9+rcx*2]
mov r9d, dword ptr ds:[r8+0x1C]
add r9, rbx
mov eax, dword ptr ds:[r9+rcx*4]
cmp rax, r13
jl short @L00000014
cmp rax, r14
jae short @L00000014
lea rsi, ds:[rax+rbx*1]
lea rdi, ss:[rsp+0x30]
mov r12, rdi
@L00000013:
movsb
cmp byte ptr ds:[rsi], 0x2E
jne short @L00000013
movsb
mov dword ptr ds:[rdi], 0x4C4C44
mov rcx, r12
call r15
mov rcx, r12
mov rdx, rsi
jmp @L00000001
@L00000014:
add rax, rbx
@L00000015:
add rsp, 0x28
ret