Function at 0x47cf52
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
sub rsp, 0x100
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], rdx
mov dword [rbp + 0x58], 0
mov qword [rbp + 0x48], 0
mov dword [rbp + 0x44], 0
mov rax, qword [rbp + 0x90]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x368]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x90]
mov rax, qword [rax + 0xf0]
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x58], 0
lea rax, [rbp - 0x58]
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x90]
mov rax, qword [rax + 0xf0]
mov eax, dword [rax + 0x3c]
mov dword [rbp - 0x14], eax
mov rax, qword [rbp + 0x98]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x368]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x90]
mov rax, qword [rax + 0x88]
mov qword [rbp + 0x60], rax
jmp 0x47d01a
mov rax, qword [rbp + 0x60]
movzx edx, byte [rax + 0x24]
and edx, 0xffffffbf
mov byte [rax + 0x24], dl
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x60], rax
cmp qword [rbp + 0x60], 0
jne 0x47d000
mov dword [rbp + 0x54], 0
mov dword [rbp + 0x5c], 0
mov rax, qword [rbp + 0x90]
mov rax, qword [rax + 0xf0]
mov rax, qword [rax + 0x58]
mov qword [rbp + 0x68], rax
jmp 0x47d066
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x18]
test rax, rax
je 0x47d05d
mov dword [rbp + 0x54], 1
jmp 0x47d06e
add dword [rbp + 0x5c], 1
add qword [rbp + 0x68], 0x38
mov eax, dword [rbp + 0x5c]
cmp eax, dword [rbp - 0x14]
jb 0x47d047
mov dword [rbp + 0x5c], 0
mov rax, qword [rbp + 0x90]
mov rax, qword [rax + 0xf0]
mov rax, qword [rax + 0x58]
mov qword [rbp + 0x68], rax
jmp 0x47d42c
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 3
jne 0x47d189
mov rax, qword [rbp + 0x90]
mov rax, qword [rax + 0x88]
mov qword [rbp + 0x60], rax
jmp 0x47d17e
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x47d172
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x47d172
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x47d172
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x47d172
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x100
test eax, eax
je 0x47d172
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
test rax, rax
je 0x47d172
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x90]
mov rdx, rax
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 8]
cmp rdx, rax
jb 0x47d172
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x90]
mov rdx, rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
lea rcx, [rdx + rax]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x20]
add rax, rdx
cmp rcx, rax
ja 0x47d172
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp + 0x68]
mov qword [rax + 0x10], rdx
jmp 0x47d189
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x60], rax
cmp qword [rbp + 0x60], 0
jne 0x47d0b6
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 1
je 0x47d1b4
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 0x6474e552
jne 0x47d422
mov rax, qword [rbp + 0x68]
mov dword [rax], 0
jmp 0x47d422
mov dword [rbp + 0x40], 0
mov rax, qword [rbp + 0x90]
mov rax, qword [rax + 0xf0]
mov rax, qword [rax + 0x58]
mov qword [rbp + 0x38], rax
jmp 0x47d414
mov rax, qword [rbp + 0x38]
mov eax, dword [rax]
cmp eax, 1
jne 0x47d40a
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax + 0x10]
mov rax, qword [rbp + 0x38]
mov r8, qword [rax + 0x10]
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, r8
cmp rcx, rax
jae 0x47d40a
mov rax, qword [rbp + 0x38]
mov rcx, qword [rax + 0x10]
mov rax, qword [rbp + 0x68]
mov r8, qword [rax + 0x10]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, r8
cmp rcx, rax
jae 0x47d40a
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax + 0x18]
mov rax, qword [rbp + 0x38]
mov r8, qword [rax + 0x18]
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, r8
cmp rcx, rax
jae 0x47d40a
mov rax, qword [rbp + 0x38]
mov rcx, qword [rax + 0x18]
mov rax, qword [rbp + 0x68]
mov r8, qword [rax + 0x18]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, r8
cmp rcx, rax
jae 0x47d40a
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x10]
cmp rdx, rax
jae 0x47d37a
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax + 0x10]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
lea r8, [rcx + rax]
mov rax, qword [rbp + 0x38]
mov rcx, qword [rax + 0x10]
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, rcx
sub r8, rax
mov rax, r8
mov qword [rbp - 0x50], rax
cmp qword [rbp - 0x50], 0
jle 0x47d34e
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp - 0x50]
add rdx, rax
mov rax, qword [rbp + 0x38]
mov qword [rax + 0x28], rdx
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp - 0x50]
add rdx, rax
mov rax, qword [rbp + 0x38]
mov qword [rax + 0x20], rdx
mov rax, qword [rbp + 0x68]
mov dword [rax], 0
mov dword [rbp + 0x5c], 0
mov rax, qword [rbp + 0x90]
mov rax, qword [rax + 0xf0]
mov rax, qword [rax + 0x58]
mov qword [rbp + 0x68], rax
jmp 0x47d423
mov rax, qword [rbp + 0x38]
mov rcx, qword [rax + 0x10]
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
lea r8, [rcx + rax]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax + 0x10]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, rcx
sub r8, rax
mov rax, r8
mov qword [rbp - 0x50], rax
cmp qword [rbp - 0x50], 0
jle 0x47d3fe
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp - 0x50]
add rdx, rax
mov rax, qword [rbp + 0x68]
mov qword [rax + 0x28], rdx
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp - 0x50]
add rdx, rax
mov rax, qword [rbp + 0x68]
mov qword [rax + 0x20], rdx
mov rax, qword [rbp + 0x38]
mov dword [rax], 0
jmp 0x47d40b
nop
add dword [rbp + 0x40], 1
add qword [rbp + 0x38], 0x38
mov eax, dword [rbp + 0x40]
cmp eax, dword [rbp + 0x5c]
jb 0x47d1d6
jmp 0x47d423
nop
add dword [rbp + 0x5c], 1
add qword [rbp + 0x68], 0x38
mov eax, dword [rbp + 0x5c]
cmp eax, dword [rbp - 0x14]
jb 0x47d090
mov dword [rbp + 0x5c], 0
mov rax, qword [rbp + 0x90]
mov rax, qword [rax + 0xf0]
mov rax, qword [rax + 0x58]
mov qword [rbp + 0x68], rax
jmp 0x47e7d4
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
test eax, eax
je 0x47e7ca
mov qword [rbp + 0x10], 0
mov rax, qword [rbp + 0x90]
mov rax, qword [rax + 0x88]
mov qword [rbp + 0x60], rax
mov dword [rbp + 0x34], 0
jmp 0x47d7b3
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x18]
test rax, rax
je 0x47d579
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x18]
cmp rdx, rax
jb 0x47d564
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47d4de
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47d4e8
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
jmp 0x47d4ed
mov eax, 0
add rdx, rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x30]
cmp rdx, rax
jb 0x47d564
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47d523
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47d52d
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
jmp 0x47d532
mov eax, 0
lea r8, [rax + rdx]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax + 0x18]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, rcx
cmp r8, rax
ja 0x47d564
mov eax, 1
jmp 0x47d569
mov eax, 0
and eax, 1
test al, al
jne 0x47d601
jmp 0x47d60f
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x10]
cmp rdx, rax
jb 0x47d5f5
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47d5b4
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47d5be
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
jmp 0x47d5c3
mov eax, 0
lea r8, [rax + rdx]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax + 0x10]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, rcx
cmp r8, rax
ja 0x47d5f5
mov eax, 1
jmp 0x47d5fa
mov eax, 0
and eax, 1
test al, al
je 0x47d60f
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 1
test eax, eax
jne 0x47d68a
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 4
jne 0x47d7a7
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0xe0]
mov eax, dword [rax + 4]
cmp eax, 7
jne 0x47d7a7
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x90]
mov rdx, rax
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 8]
cmp rdx, rax
jb 0x47d7a7
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x90]
mov rdx, rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
lea rcx, [rdx + rax]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x20]
add rax, rdx
cmp rcx, rax
ja 0x47d7a7
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 0x6474e551
je 0x47d7a7
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47d6ba
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x400
test eax, eax
je 0x47d7a7
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 1
je 0x47d6e4
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
je 0x47d6e4
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x400
test eax, eax
jne 0x47d7a7
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 2
jne 0x47d76d
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47d70d
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47d71a
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
test rax, rax
jne 0x47d76d
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x18]
test rax, rax
je 0x47d73e
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x18]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x30]
cmp rdx, rax
jne 0x47d76d
jmp 0x47d753
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x28]
cmp rdx, rax
jne 0x47d76d
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
lea rdx, [0x00576052]
mov rcx, rax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x47d7a7
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 1
jne 0x47d787
mov rax, qword [rbp + 0x60]
movzx eax, byte [rax + 0x24]
and eax, 0x40
test al, al
jne 0x47d7a7
cmp qword [rbp + 0x10], 0
jne 0x47d796
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x68]
test rax, rax
je 0x47d7a7
add dword [rbp + 0x34], 1
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x60], rax
cmp qword [rbp + 0x60], 0
jne 0x47d48e
mov qword [rbp - 0x30], 0x40
mov eax, dword [rbp + 0x34]
shl rax, 3
add qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x98]
mov rcx, rax
call fcn.00446af9
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0x78], 0
jne 0x47d7f9
mov eax, 0
jmp 0x47e8c6
mov rax, qword [rbp + 0x78]
mov qword [rax], 0
mov rax, qword [rbp + 0x68]
mov edx, dword [rax]
mov rax, qword [rbp + 0x78]
mov dword [rax + 8], edx
mov rax, qword [rbp + 0x68]
mov edx, dword [rax + 4]
mov rax, qword [rbp + 0x78]
mov dword [rax + 0xc], edx
mov rax, qword [rbp + 0x78]
movzx edx, byte [rax + 0x38]
or edx, 1
mov byte [rax + 0x38], dl
cmp qword [rbp + 0x10], 0
je 0x47d841
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x68]
test rax, rax
je 0x47d86d
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x18]
mov rax, qword [rbp + 0x78]
mov qword [rax + 0x10], rdx
mov eax, dword [rbp + 0x54]
and eax, 1
mov rdx, qword [rbp + 0x78]
and eax, 1
lea ecx, [rax + rax]
movzx eax, byte [rdx + 0x38]
and eax, 0xfffffffd
or eax, ecx
mov byte [rdx + 0x38], al
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 8]
test rax, rax
jne 0x47d897
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x34]
mov eax, eax
cmp rdx, rax
jb 0x47d897
mov eax, 1
jmp 0x47d89c
mov eax, 0
and eax, 1
mov rdx, qword [rbp + 0x78]
and eax, 1
shl eax, 4
mov ecx, eax
movzx eax, byte [rdx + 0x38]
and eax, 0xffffffef
or eax, ecx
mov byte [rdx + 0x38], al
mov rax, qword [rbp + 0x78]
movzx edx, byte [rax + 0x38]
and edx, 0xffffffdf
mov byte [rax + 0x38], dl
cmp dword [rbp + 0x58], 0
je 0x47d8da
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 1
je 0x47d96e
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x18]
cmp rdx, rax
ja 0x47d92d
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x20]
lea r8, [rdx + rax]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rax + 0x18]
mov rax, qword [rbp - 0x10]
mov ecx, dword [rax + 0x3c]
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x38]
imul eax, ecx
mov eax, eax
add rax, rdx
cmp r8, rax
jb 0x47d92d
mov eax, 1
jmp 0x47d932
mov eax, 0
and eax, 1
mov rdx, qword [rbp + 0x78]
and eax, 1
shl eax, 5
mov ecx, eax
movzx eax, byte [rdx + 0x38]
and eax, 0xffffffdf
or eax, ecx
mov byte [rdx + 0x38], al
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 1
jne 0x47d96e
mov rax, qword [rbp + 0x78]
movzx eax, byte [rax + 0x38]
and eax, 0x20
test al, al
je 0x47d96e
mov dword [rbp + 0x58], 1
cmp dword [rbp + 0x34], 0
jne 0x47d9ea
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 1
jne 0x47d9b7
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x47d999
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x47d9b7
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x10]
mov r8, rax
mov rdx, qword [rbp + 0x90]
lea rcx, str._pB:_warning:_empty_loadable_segment_detected_at_vaddr_I64x__is_this_intentional_
call fcn.004397d1
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x78]
mov qword [rax + 0x18], rdx
mov rax, qword [rbp + 0x78]
mov dword [rax + 0x3c], 0
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov qword [rax], rdx
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x70], rax
jmp 0x47e7cb
mov eax, dword [rbp + 0x34]
mov edx, 8
mov rcx, rax
call fcn.0043f96d
mov qword [rbp - 0x38], rax
cmp qword [rbp - 0x38], 0
jne 0x47da0f
mov eax, 0
jmp 0x47e8c6
mov dword [rbp + 0x30], 0
mov qword [rbp + 0x28], 0
mov qword [rbp + 0x20], 0
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x60], rax
mov dword [rbp + 0x1c], 0
jmp 0x47e0c9
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x18]
test rax, rax
je 0x47db25
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x18]
cmp rdx, rax
jb 0x47db10
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47da8a
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47da94
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
jmp 0x47da99
mov eax, 0
add rdx, rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x30]
cmp rdx, rax
jb 0x47db10
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47dacf
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47dad9
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
jmp 0x47dade
mov eax, 0
lea r8, [rax + rdx]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax + 0x18]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, rcx
cmp r8, rax
ja 0x47db10
mov eax, 1
jmp 0x47db15
mov eax, 0
and eax, 1
test al, al
jne 0x47dbad
jmp 0x47dbbb
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x10]
cmp rdx, rax
jb 0x47dba1
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47db60
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47db6a
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
jmp 0x47db6f
mov eax, 0
lea r8, [rax + rdx]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax + 0x10]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, rcx
cmp r8, rax
ja 0x47dba1
mov eax, 1
jmp 0x47dba6
mov eax, 0
and eax, 1
test al, al
je 0x47dbbb
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 1
test eax, eax
jne 0x47dc36
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 4
jne 0x47e0bd
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0xe0]
mov eax, dword [rax + 4]
cmp eax, 7
jne 0x47e0bd
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x90]
mov rdx, rax
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 8]
cmp rdx, rax
jb 0x47e0bd
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x90]
mov rdx, rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
lea rcx, [rdx + rax]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x20]
add rax, rdx
cmp rcx, rax
ja 0x47e0bd
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 0x6474e551
je 0x47e0bd
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47dc66
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x400
test eax, eax
je 0x47e0bd
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 1
je 0x47dc90
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
je 0x47dc90
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x400
test eax, eax
jne 0x47e0bd
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 2
jne 0x47dd21
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47dcbd
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47dcca
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
test rax, rax
jne 0x47dd21
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x18]
test rax, rax
je 0x47dcee
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x18]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x30]
cmp rdx, rax
jne 0x47dd21
jmp 0x47dd03
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x28]
cmp rdx, rax
jne 0x47dd21
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
lea rdx, [0x00576052]
mov rcx, rax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x47e0bd
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 1
jne 0x47dd3f
mov rax, qword [rbp + 0x60]
movzx eax, byte [rax + 0x24]
and eax, 0x40
test al, al
jne 0x47e0bd
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x68]
test rax, rax
je 0x47e0bd
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x68]
mov qword [rbp - 0x40], rax
mov eax, dword [rbp + 0x1c]
lea edx, [rax + 1]
mov dword [rbp + 0x1c], edx
mov eax, eax
lea rdx, [rax*8]
mov rax, qword [rbp - 0x38]
add rdx, rax
mov rax, qword [rbp + 0x60]
mov qword [rdx], rax
cmp dword [rbp + 0x54], 0
jne 0x47de75
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x47de75
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x38e]
and eax, 0x40
test al, al
jne 0x47de75
cmp dword [rbp + 0x30], 0
jne 0x47de75
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x30]
test rax, rax
je 0x47de75
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x78]
movzx eax, byte [rax + 0x38]
and eax, 0x10
test al, al
je 0x47ddeb
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x34]
mov eax, eax
jmp 0x47ddf0
mov eax, 0
lea rcx, [rax + rdx]
mov rax, qword [rbp + 0x78]
movzx eax, byte [rax + 0x38]
and eax, 0x20
test al, al
je 0x47de18
mov rax, qword [rbp - 0x10]
mov edx, dword [rax + 0x3c]
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x38]
imul eax, edx
mov eax, eax
jmp 0x47de1d
mov eax, 0
lea rdx, [rax + rcx]
mov rax, qword [rbp - 0x40]
mov eax, dword [rax + 0x70]
mov r8d, 1
mov ecx, eax
shl r8, cl
mov rax, r8
add rax, rdx
lea rdx, [rax - 1]
mov rax, qword [rbp - 0x40]
mov eax, dword [rax + 0x70]
mov r8d, 1
mov ecx, eax
shl r8, cl
mov rax, r8
neg rax
and rdx, rax
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x28]
cmp rdx, rax
jne 0x47de75
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x78]
mov qword [rax + 0x10], rdx
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp + 0x78]
mov rax, qword [rax + 0x10]
cmp rdx, rax
jb 0x47df37
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp - 0x40]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47deb4
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47debe
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x38]
jmp 0x47dec3
mov eax, 0
add rdx, rax
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x30]
cmp rdx, rax
jb 0x47df37
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp - 0x40]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47def9
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47df03
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x38]
jmp 0x47df08
mov eax, 0
lea r8, [rax + rdx]
mov rax, qword [rbp + 0x78]
mov rcx, qword [rax + 0x10]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, rcx
cmp r8, rax
jbe 0x47e065
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 4
jne 0x47dfd6
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0xe0]
mov eax, dword [rax + 4]
cmp eax, 7
jne 0x47dfd6
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x90]
mov rdx, rax
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 8]
cmp rdx, rax
jb 0x47dfd6
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x90]
mov rdx, rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
lea rcx, [rdx + rax]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x20]
add rax, rdx
cmp rcx, rax
ja 0x47dfd6
mov rax, qword [rbp + 0x90]
movzx eax, byte [rax + 0x40]
and eax, 7
cmp al, 3
jne 0x47dfd6
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x47dfd6
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x30]
test rax, rax
je 0x47e065
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x38e]
and eax, 0x40
test al, al
je 0x47e0a6
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x10]
cmp rdx, rax
jb 0x47e0a6
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp - 0x40]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47e02b
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47e035
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x38]
jmp 0x47e03a
mov eax, 0
lea r8, [rax + rdx]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax + 0x10]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, rcx
cmp r8, rax
ja 0x47e0a6
cmp qword [rbp + 0x28], 0
je 0x47e081
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp + 0x28]
mov rax, qword [rax + 0x30]
cmp rdx, rax
jae 0x47e089
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0x28], rax
mov eax, dword [rbp + 0x30]
lea edx, [rax + 1]
mov dword [rbp + 0x30], edx
mov rdx, qword [rbp + 0x78]
mov eax, eax
lea rcx, [rax + 8]
mov rax, qword [rbp - 0x40]
mov qword [rdx + rcx*8], rax
jmp 0x47e0b5
cmp qword [rbp + 0x20], 0
jne 0x47e0b5
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0x20], rax
mov eax, dword [rbp + 0x1c]
cmp eax, dword [rbp + 0x34]
je 0x47e0d6
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x60], rax
cmp qword [rbp + 0x60], 0
jne 0x47da3a
jmp 0x47e0d7
nop
mov eax, dword [rbp + 0x1c]
cmp eax, dword [rbp + 0x34]
je 0x47e0f0
mov edx, 0x1b90
lea rcx, str._workdir_repo_binutils_gdb_gnu_bfd_elf.c
call fcn.00439a1b
mov eax, dword [rbp + 0x30]
cmp eax, dword [rbp + 0x34]
jne 0x47e190
mov rax, qword [rbp + 0x78]
mov edx, dword [rbp + 0x34]
mov dword [rax + 0x3c], edx
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov qword [rax], rdx
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x70], rax
cmp dword [rbp + 0x54], 0
je 0x47e17f
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x38e]
and eax, 0x40
test al, al
jne 0x47e17f
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp + 0x78]
mov rax, qword [rax + 0x10]
cmp rdx, rax
je 0x47e17f
mov rax, qword [rbp + 0x78]
movzx eax, byte [rax + 0x38]
and eax, 0x10
test al, al
jne 0x47e17f
mov rax, qword [rbp + 0x78]
movzx eax, byte [rax + 0x38]
and eax, 0x20
test al, al
jne 0x47e17f
mov rax, qword [rbp + 0x78]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x28]
mov rax, qword [rax + 0x30]
sub rdx, rax
mov rax, qword [rbp + 0x78]
mov qword [rax + 0x18], rdx
mov rax, qword [rbp - 0x38]
mov rcx, rax
call sub.msvcrt.dll_free
jmp 0x47e7cb
cmp qword [rbp + 0x28], 0
jne 0x47e19f
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp + 0x78]
mov qword [rax + 0x10], rdx
mov rax, qword [rbp + 0x78]
movzx eax, byte [rax + 0x38]
and eax, 0x20
test al, al
je 0x47e1f6
mov rax, qword [rbp + 0x78]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp - 0x10]
mov ecx, dword [rax + 0x3c]
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x38]
imul eax, ecx
mov eax, eax
sub rdx, rax
mov rax, qword [rbp + 0x78]
mov qword [rax + 0x10], rdx
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x3c]
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x78]
movzx eax, byte [rax + 0x38]
and eax, 0x10
test al, al
je 0x47e27a
mov rax, qword [rbp + 0x28]
mov eax, dword [rax + 0x70]
mov edx, 1
mov ecx, eax
shl rdx, cl
mov rax, rdx
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x78]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x34]
mov eax, eax
sub rdx, rax
mov rax, qword [rbp + 0x78]
mov qword [rax + 0x10], rdx
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x30]
test rax, rax
je 0x47e260
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x30]
cmp qword [rbp + 8], rax
jbe 0x47e260
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x30]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x78]
mov rax, qword [rax + 0x10]
mov rdx, qword [rbp + 8]
neg rdx
and rdx, rax
mov rax, qword [rbp + 0x78]
mov qword [rax + 0x10], rdx
mov dword [rbp + 0x30], 0
mov rax, qword [rbp + 0x78]
mov dword [rax + 0x3c], 0
mov qword [rbp + 0x20], 0
mov dword [rbp + 0x1c], 0
jmp 0x47e697
mov eax, dword [rbp + 0x1c]
lea rdx, [rax*8]
mov rax, qword [rbp - 0x38]
add rax, rdx
mov rax, qword [rax]
mov qword [rbp + 0x60], rax
cmp qword [rbp + 0x60], 0
je 0x47e68f
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x68]
mov qword [rbp - 0x40], rax
cmp qword [rbp - 0x40], 0
jne 0x47e2e8
mov edx, 0x1bea
lea rcx, str._workdir_repo_binutils_gdb_gnu_bfd_elf.c
call fcn.00439a1b
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp + 0x78]
mov rax, qword [rax + 0x10]
cmp rdx, rax
jb 0x47e3aa
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp - 0x40]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47e327
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47e331
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x38]
jmp 0x47e336
mov eax, 0
add rdx, rax
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x30]
cmp rdx, rax
jb 0x47e3aa
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp - 0x40]
mov eax, dword [rax + 0x20]
and eax, 0x500
cmp eax, 0x400
jne 0x47e36c
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 7
jne 0x47e376
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x38]
jmp 0x47e37b
mov eax, 0
lea r8, [rax + rdx]
mov rax, qword [rbp + 0x78]
mov rcx, qword [rax + 0x10]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
cmp rdx, rax
cmovae rax, rdx
add rax, rcx
cmp r8, rax
jbe 0x47e45d
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 4
jne 0x47e67e
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0xe0]
mov eax, dword [rax + 4]
cmp eax, 7
jne 0x47e67e
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x90]
mov rdx, rax
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 8]
cmp rdx, rax
jb 0x47e67e
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x90]
mov rdx, rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x38]
lea rcx, [rdx + rax]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x20]
add rax, rdx
cmp rcx, rax
ja 0x47e67e
mov rax, qword [rbp + 0x90]
movzx eax, byte [rax + 0x40]
and eax, 7
cmp al, 3
jne 0x47e67e
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x47e67e
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x30]
test rax, rax
jne 0x47e67e
mov rax, qword [rbp + 0x78]
mov eax, dword [rax + 0x3c]
test eax, eax
jne 0x47e524
mov rax, qword [rbp + 0x78]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x78]
movzx eax, byte [rax + 0x38]
and eax, 0x10
test al, al
je 0x47e48e
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x34]
mov eax, eax
jmp 0x47e493
mov eax, 0
lea rcx, [rax + rdx]
mov rax, qword [rbp + 0x78]
movzx eax, byte [rax + 0x38]
and eax, 0x20
test al, al
je 0x47e4bb
mov rax, qword [rbp - 0x10]
mov edx, dword [rax + 0x3c]
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x38]
imul eax, edx
mov eax, eax
jmp 0x47e4c0
mov eax, 0
lea rdx, [rax + rcx]
mov rax, qword [rbp - 0x40]
mov eax, dword [rax + 0x70]
mov r8d, 1
mov ecx, eax
shl r8, cl
mov rax, r8
add rax, rdx
lea rdx, [rax - 1]
mov rax, qword [rbp - 0x40]
mov eax, dword [rax + 0x70]
mov r8d, 1
mov ecx, eax
shl r8, cl
mov rax, r8
neg rax
and rdx, rax
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x30]
cmp rdx, rax
je 0x47e623
lea r8, str.rewrite_elf_program_header
mov edx, 0x1bfc
lea rcx, str._workdir_repo_binutils_gdb_gnu_bfd_elf.c
call fcn.00439a52
mov rax, qword [rbp + 0x78]
mov eax, dword [rax + 0x3c]
lea edx, [rax - 1]
mov rax, qword [rbp + 0x78]
mov edx, edx
add rdx, 8
mov rax, qword [rax + rdx*8]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 0x38]
add rdx, rax
mov rax, qword [rbp - 0x20]
add rax, rdx
lea rcx, [rax - 1]
mov rax, qword [rbp - 0x48]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 0x38]
add rax, rdx
cmp rcx, rax
jb 0x47e5a0
mov rax, qword [rbp - 0x48]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 0x38]
add rdx, rax
mov rax, qword [rbp - 0x20]
add rax, rdx
lea rdx, [rax - 1]
mov rax, qword [rbp - 0x20]
neg rax
and rdx, rax
jmp 0x47e5a7
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax + 0x30]
mov rax, qword [rbp - 0x20]
add rax, rcx
lea rcx, [rax - 1]
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x30]
cmp rcx, rax
jb 0x47e5e6
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax + 0x30]
mov rax, qword [rbp - 0x20]
add rax, rcx
lea rcx, [rax - 1]
mov rax, qword [rbp - 0x20]
neg rax
and rax, rcx
jmp 0x47e5ed
mov rax, 0xffffffffffffffff
cmp rdx, rax
jb 0x47e612
mov rax, qword [rbp - 0x48]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 0x38]
add rdx, rax
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x30]
cmp rdx, rax
jbe 0x47e623
cmp qword [rbp + 0x20], 0
jne 0x47e692
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0x20], rax
jmp 0x47e692
mov rax, qword [rbp + 0x78]
mov eax, dword [rax + 0x3c]
lea ecx, [rax + 1]
mov rdx, qword [rbp + 0x78]
mov dword [rdx + 0x3c], ecx
mov rdx, qword [rbp + 0x78]
mov eax, eax
lea rcx, [rax + 8]
mov rax, qword [rbp - 0x40]
mov qword [rdx + rcx*8], rax
add dword [rbp + 0x30], 1
mov eax, dword [rbp + 0x1c]
lea rdx, [rax*8]
mov rax, qword [rbp - 0x38]
add rax, rdx
mov qword [rax], 0
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
cmp eax, 1
jne 0x47e693
mov rax, qword [rbp + 0x60]
movzx edx, byte [rax + 0x24]
or edx, 0x40
mov byte [rax + 0x24], dl
jmp 0x47e693
cmp qword [rbp + 0x20], 0
jne 0x47e693
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0x20], rax
jmp 0x47e693
nop
jmp 0x47e693
nop
add dword [rbp + 0x1c], 1
mov eax, dword [rbp + 0x1c]
cmp eax, dword [rbp + 0x34]
jb 0x47e2a0
mov rax, qword [rbp + 0x78]
mov eax, dword [rax + 0x3c]
test eax, eax
jne 0x47e6ce
mov ecx, 0x11
call fcn.0043833d
mov rax, qword [rbp - 0x38]
mov rcx, rax
call sub.msvcrt.dll_free
mov eax, 0
jmp 0x47e8c6
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov qword [rax], rdx
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x70], rax
mov eax, dword [rbp + 0x30]
cmp eax, dword [rbp + 0x34]
jae 0x47e7b0
mov qword [rbp - 0x30], 0x40
mov eax, dword [rbp + 0x34]
shl rax, 3
add qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x98]
mov rcx, rax
call fcn.00446af9
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0x78], 0
jne 0x47e734
mov rax, qword [rbp - 0x38]
mov rcx, rax
call sub.msvcrt.dll_free
mov eax, 0
jmp 0x47e8c6
mov rax, qword [rbp + 0x78]
mov qword [rax], 0
mov rax, qword [rbp + 0x68]
mov edx, dword [rax]
mov rax, qword [rbp + 0x78]
mov dword [rax + 8], edx
mov rax, qword [rbp + 0x68]
mov edx, dword [rax + 4]
mov rax, qword [rbp + 0x78]
mov dword [rax + 0xc], edx
mov rax, qword [rbp + 0x78]
movzx edx, byte [rax + 0x38]
or edx, 1
mov byte [rax + 0x38], dl
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax + 0x30]
mov rax, qword [rbp + 0x78]
mov qword [rax + 0x10], rdx
mov eax, dword [rbp + 0x54]
and eax, 1
mov rdx, qword [rbp + 0x78]
and eax, 1
lea ecx, [rax + rax]
movzx eax, byte [rdx + 0x38]
and eax, 0xfffffffd
or eax, ecx
mov byte [rdx + 0x38], al
mov rax, qword [rbp + 0x78]
movzx edx, byte [rax + 0x38]
and edx, 0xffffffef
mov byte [rax + 0x38], dl
mov rax, qword [rbp + 0x78]
movzx edx, byte [rax + 0x38]
and edx, 0xffffffdf
mov byte [rax + 0x38], dl
mov eax, dword [rbp + 0x30]
cmp eax, dword [rbp + 0x34]
jb 0x47e281
mov rax, qword [rbp - 0x38]
mov rcx, rax
call sub.msvcrt.dll_free
jmp 0x47e7cb
nop
add dword [rbp + 0x5c], 1
add qword [rbp + 0x68], 0x38
mov eax, dword [rbp + 0x5c]
cmp eax, dword [rbp - 0x14]
jb 0x47d45a
mov rax, qword [rbp + 0x98]
mov rax, qword [rax + 0xf0]
mov rax, qword [rax + 0xc90]
mov rdx, qword [rbp - 0x58]
mov qword [rax], rdx
cmp qword [rbp + 0x48], 0
je 0x47e8c1
mov dword [rbp + 4], 0
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x78], rax
jmp 0x47e827
add dword [rbp + 4], 1
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0x78], 0
jne 0x47e818
mov eax, dword [rbp + 4]
cmp eax, dword [rbp + 0x44]
jbe 0x47e85d
mov rax, qword [rbp + 0x48]
mov rdx, qword [rax + 0x10]
mov eax, dword [rbp + 4]
sub eax, dword [rbp + 0x44]
mov ecx, eax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x38]
imul eax, ecx
mov eax, eax
sub rdx, rax
mov rax, qword [rbp + 0x48]
mov qword [rax + 0x10], rdx
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x78], rax
jmp 0x47e8ba
mov rax, qword [rbp + 0x78]
mov eax, dword [rax + 8]
cmp eax, 6
jne 0x47e8af
mov rax, qword [rbp + 0x48]
movzx eax, byte [rax + 0x38]
and eax, 0x10
test al, al
je 0x47e88d
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x34]
mov eax, eax
jmp 0x47e892
mov eax, 0
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0x48]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp - 0x28]
add rdx, rax
mov rax, qword [rbp + 0x78]
mov qword [rax + 0x10], rdx
jmp 0x47e8c1
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0x78], 0
jne 0x47e867
mov eax, 1
add rsp, 0x100
pop rbp
ret