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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x104
mov dword [ebp - 0x2c], edx
mov eax, 4
lea edx, [ebp - 0xb4]
xor edi, edi
mov dword [ebp - 0x28], ecx
mov ecx, dword [ecx]
mov dword [edx - 0xc], eax
mov dword [edx - 8], edi
mov dword [edx - 4], edi
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov dword [edx + 4], edi
mov dword [edx + 8], edi
mov dword [ebp - 0x1c], ecx
mov edx, dword [eax + 0x34]
lea ecx, [eax + 0x20]
mov esi, dword [eax + 0x20]
mov ebx, dword [eax + 0x2c]
mov dword [ebp - 0x44], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0xd8], edx
shl edx, 6
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x18], ecx
lea ecx, [esi + ecx*8]
lea eax, [ebx + edx]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x20], eax
cmp esi, dword [ebp - 0x14]
je 0x4398c7
cmp ebx, dword [ebp - 0x20]
je 0x43b323
mov ecx, ebx
mov edx, 0x4c9ee8
call fcn.004187d6
add ebx, 0x40
add esi, 8
test al, al
je 0x4397d2
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x8c]
push dword [esi - 4]
push dword [esi - 8]
call fcn.0042aa4b
add esp, 8
mov edx, dword [esi - 4]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [esi - 8]
mov dword [ebp - 0x58], edx
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0xc4], ecx
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xc8], ecx
cmp edx, dword [ebp - 0xbc]
jne 0x439863
lea ecx, [ebp - 0xc0]
call fcn.0041e54f
mov edx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x5c]
mov dword [eax + edx*8], ecx
mov ecx, dword [ebp - 0x58]
mov dword [eax + edx*8 + 4], ecx
inc edx
mov dword [ebp - 0xb8], edx
cmp edi, dword [ebp - 0xb0]
jne 0x439898
lea ecx, [ebp - 0xb4]
mov edx, edi
call fcn.0042b6b4
mov edi, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xc4]
lea ecx, [edi + edi*2]
inc edi
mov dword [eax + ecx*4], edx
mov edx, dword [ebp - 0x3c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0xc8]
mov dword [eax + ecx*4 + 8], edx
mov dword [ebp - 0xac], edi
jmp 0x4397d2
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 0x2c]
movsd xmm0, qword [ebp - 0xb0]
movsd xmm2, qword [ebp - 0xc0]
movsd xmm1, qword [ebp - 0xb8]
mov eax, dword [eax + 0x38]
cmp dword [esi], 1
movsd qword [ebp - 0xf4], xmm0
movsd qword [ebp - 0xfc], xmm1
movsd qword [ebp - 0x104], xmm2
mov dword [ebp - 0x3c], eax
jne 0x439a86
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x54]
mov ecx, dword [eax + 0x4c]
push 0x4c0080
push dword [esi + 8]
push dword [esi + 4]
call fcn.004367fa
add esp, 0xc
mov edx, dword [eax + 0x3c]
mov esi, eax
mov ecx, dword [ebp - 0x44]
push dword [eax + 0x40]
call fcn.00424206
add esp, 4
test eax, eax
je 0x439972
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x43995e
mov eax, dword [eax + 0x24]
xor edx, edx
add eax, 8
add edx, dword [eax]
add eax, 0xc
dec ecx
jne 0x43994e
test edx, edx
jne 0x439a8b
cmp dword [esi + 8], 0
je 0x43b3d2
cmp dword [esi + 0xc], 0
je 0x439a8b
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
lea ecx, [ebp - 0x68]
mov edx, esi
call fcn.0043c7be
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], edi
shl ecx, 2
lea ecx, [ecx + ecx*8]
lea esi, [eax + ecx]
test ecx, ecx
je 0x439cc4
add ecx, 0xffffffdc
cmp byte [eax + 0x20], 0
lea ebx, [eax + 0x24]
mov eax, ebx
jne 0x439996
mov eax, dword [ebx - 0x24]
mov edi, dword [ebx - 0x20]
mov dword [ebp - 0x10], eax
mov ecx, edi
call fcn.00416d74
mov dword [ebp - 0x1c], edx
push edi
push dword [ebp - 0x10]
push eax
mov dword [ebp - 0x10], eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, 4
call fcn.0041c61d
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
xor edi, edi
lea ecx, [ebp - 0xc0]
inc edi
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], 1
mov ecx, ebx
cmp ecx, esi
je 0x439ce3
cmp byte [ecx + 0x20], 0
lea ebx, [ecx + 0x24]
mov ecx, ebx
jne 0x4399fe
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx - 0x24]
mov edi, dword [ebx - 0x20]
mov dword [ebp - 0x18], eax
mov ecx, edi
call fcn.00416d74
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x24], edi
push edi
push dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0xbc]
jne 0x439a63
mov edx, edi
lea ecx, [ebp - 0xc0]
push 1
call fcn.004250cd
add esp, 4
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x18]
lea ecx, [edi + edi*2]
inc edi
mov dword [eax + ecx*4], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + ecx*4 + 8], edx
mov dword [ebp - 0xb8], edi
jmp 0x4399fc
mov edi, dword [ebp - 0x1c]
jmp 0x439a90
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
cmp dword [ebp - 0x3c], 0
je 0x439b93
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x439e7b
mov esi, dword [ebp - 0xd8]
mov edi, dword [ebp - 0x54]
lea eax, [eax*8]
xor ebx, ebx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x2c], eax
shl esi, 6
test esi, esi
je 0x43b33f
mov ecx, edi
mov edx, 0x4c9ee8
call fcn.004187d6
xor ecx, ecx
test al, al
je 0x439b03
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x24]
push dword [eax + ebx + 4]
push dword [eax + ebx]
call fcn.00418999
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
add ebx, 8
add dword [ebp - 0x10], ecx
add edi, 0x40
add esi, 0xffffffc0
cmp dword [ebp - 0x2c], ebx
jne 0x439ac7
cmp dword [ebp - 0x10], 2
jb 0x439db2
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0xd8]
mov edi, dword [ebp - 0x54]
add eax, 4
shl esi, 6
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x439daa
test esi, esi
je 0x43b33f
mov ebx, eax
mov ecx, edi
mov edx, 0x4c9ee8
call fcn.004187d6
test al, al
je 0x439b82
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x10]
push dword [eax]
push dword [eax - 4]
call fcn.00418999
add esp, 8
test eax, eax
je 0x439b82
test byte [eax + 0x105], 0x40
jne 0x43a4d1
add dword [ebp - 0x10], 8
mov eax, ebx
add edi, 0x40
add esi, 0xffffffc0
add eax, 0xfffffff8
jmp 0x439b36
mov eax, dword [edi + 0x144]
mov ecx, dword [edi + 0x148]
mov edx, eax
or edx, ecx
bt edx, 0x10
jae 0x439c06
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x43a2ab
lea ebx, [eax*8]
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x10]
xor edi, edi
test eax, eax
mov dword [ebp - 0x10], eax
je 0x43b33f
mov ecx, esi
mov edx, 0x4c9ee8
call fcn.004187d6
movzx eax, al
add esi, 0x40
add edi, eax
mov eax, dword [ebp - 0x10]
add eax, 0xffffffc0
add ebx, 0xfffffff8
jne 0x439bc3
mov eax, dword [ebp - 0x28]
test edi, edi
mov edi, dword [eax]
je 0x43aee2
mov eax, dword [edi + 0x144]
mov ecx, dword [edi + 0x148]
or ecx, eax
mov dword [ebp - 0x1c], edi
bt ecx, 9
jae 0x439a9d
mov ecx, edi
mov esi, dword [edi + 0x20]
mov edi, dword [edi + 0xa8]
lea eax, [ecx + 0xac]
add ecx, 0x20
test edi, edi
cmove eax, ecx
mov ebx, dword [eax + 4]
mov ecx, ebx
call fcn.00416d74
mov dword [ebp - 0x3c], edx
test edi, edi
cmovne esi, edi
mov dword [ebp - 0xc4], ebx
push ebx
push esi
mov dword [ebp - 0x44], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x28]
mov dl, 1
mov dword [ebp - 0x10], 2
mov eax, dword [eax]
mov ebx, dword [eax + 0x64]
mov dword [ebp - 0x18], eax
imul eax, dword [eax + 0x6c], 0x16c
lea ecx, [ebx + eax]
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
inc ecx
test dl, 1
jne 0x439c92
test esi, esi
jne 0x43af10
test edi, edi
je 0x439c92
cmp edi, dword [ebp - 0x14]
jne 0x43af15
test eax, eax
je 0x43a2b5
mov edx, dword [ebx + 0x24]
mov edi, dword [ebx + 0x28]
mov esi, dword [ebx + 0x20]
add eax, 0xfffffe94
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x20], edx
mov edx, dword [ebx + 0x30]
add ebx, 0x16c
lea edx, [edx + edx*2]
lea edx, [edi + edx*4]
mov dword [ebp - 0x14], edx
xor edx, edx
jmp 0x439c78
xor esi, esi
mov edi, 4
mov dword [ebp - 0xd4], 4
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], esi
jmp 0x439d05
movsd xmm0, qword [ebp - 0xc0]
mov esi, dword [ebp - 0xb8]
movsd qword [ebp - 0xd4], xmm0
mov dword [ebp - 0xcc], esi
mov edi, dword [ebp - 0xd4]
xor eax, eax
lea edx, [ebp - 0xc0]
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x88], eax
mov dword [edx + 0x1c], eax
mov dword [edx + 0x10], 0x20
mov byte [edx + 0x20], 3
mov dword [edx], eax
mov dword [ebp - 0x84], eax
mov dword [edx + 8], eax
lea eax, [ebp - 0x8c]
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], 0x4be780
mov ecx, dword [ebp - 0x14]
call fcn.004189dd
test al, al
jne 0x43b3b0
mov ecx, dword [ebp - 0x84]
movsd xmm0, qword [ebp - 0x8c]
lea eax, [ebp - 0x38]
lea edx, [ebp - 0xc0]
mov dword [edx], 1
mov dword [eax + 8], ecx
xor ecx, ecx
movsd qword [eax], xmm0
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x20]
push eax
push esi
push edi
call fcn.004262fc
add esp, 0xc
mov edi, eax
lea ecx, [ebp - 0xd4]
call fcn.0041c598
lea ecx, [ebp - 0x68]
call fcn.0041cecd
jmp 0x43b30b
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x439e7b
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0x54]
mov edx, dword [ebp - 0x24]
lea ecx, [ecx*8 - 8]
mov dword [ebp - 0x2c], ecx
shl eax, 6
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x18], edx
test eax, eax
je 0x43b33f
mov edi, eax
mov ecx, dword [ebp - 0x10]
mov edx, 0x4c9ee8
call fcn.004187d6
test al, al
je 0x439e5c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
mov esi, dword [eax + 4]
push esi
push ebx
call fcn.00418999
add esp, 8
test eax, eax
je 0x439e5c
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0xec]
push esi
push ebx
mov eax, dword [ebp - 0x28]
push dword [eax]
call fcn.0043ca52
add esp, 0xc
mov eax, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xec]
test eax, eax
jne 0x43a2d5
cmp dword [ebp - 0xe8], 0
je 0x439e5c
push ebx
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x439e7b
add dword [ebp - 0x18], 8
add dword [ebp - 0x10], 0x40
mov eax, edi
add ecx, 0xfffffff8
add eax, 0xffffffc0
mov dword [ebp - 0x2c], ecx
jmp 0x439ddc
cmp dword [ebp - 0x3c], 0
je 0x439eae
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x144]
or eax, dword [ecx + 0x148]
shr eax, 0xc
and eax, 1
test al, al
je 0x439eae
lea ecx, [ebp - 0x104]
call fcn.0043c75e
xor edi, edi
jmp 0x43b316
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x34]
mov esi, dword [eax + 0x2c]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x28]
shl ebx, 6
mov dword [ebp - 0xe0], edx
lea edx, [ecx + edx*8]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0x5c], esi
lea eax, [esi + ebx]
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0xc4]
mov edi, dword [ebp - 0x5c]
cmp esi, dword [ebp - 0xc8]
je 0x43a20e
cmp edi, dword [ebp - 0x54]
je 0x43b33f
mov ecx, edi
mov edx, 0x4c9ee8
call fcn.004187d6
lea ecx, [edi + 0x40]
lea edx, [esi + 8]
test al, al
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0xc4], edx
je 0x439ef6
mov eax, dword [ebp - 0x28]
mov ebx, dword [esi + 4]
mov edi, dword [eax]
mov eax, dword [esi]
mov ecx, dword [edi + 0x4c]
mov edx, dword [edi + 0x54]
push ebx
mov dword [ebp - 0x14], eax
push eax
call fcn.00418999
add esp, 8
test eax, eax
je 0x43a1c4
mov esi, eax
xor eax, eax
mov dword [ebp - 0x38], 4
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov al, byte [0x4e4158]
mov ecx, 4
mov edx, 4
call fcn.00413060
test eax, eax
je 0x43b377
add esi, 0x3c
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x14], 4
mov dword [eax], esi
mov dword [ebp - 0x8c], eax
xor eax, eax
mov dword [ebp - 0xc0], 4
mov dword [ebp - 0x88], 1
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
xor eax, eax
inc eax
mov edx, dword [ebp - 0x18]
lea ecx, [eax - 1]
xor ebx, ebx
mov dword [ebp - 0x84], ecx
mov esi, dword [edx + eax*4 - 4]
mov eax, dword [ebp - 0x20]
lea edi, [eax*4]
cmp edi, ebx
je 0x43a014
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + ebx]
mov ecx, dword [eax + 4]
cmp ecx, dword [esi + 4]
jne 0x43a00f
push ecx
push dword [esi]
push dword [eax]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43a12c
add ebx, 4
jmp 0x439fe8
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x34]
jne 0x43a02f
lea ecx, [ebp - 0x38]
call fcn.0042524b
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
jmp 0x43a035
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
mov dword [eax + edx*4], esi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x30]
inc ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x20], ecx
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x54]
push dword [esi + 4]
push dword [esi]
call fcn.00418999
add esp, 8
test eax, eax
je 0x43a12c
mov edi, dword [eax + 0x70]
mov esi, dword [eax + 0x68]
shl edi, 4
add edi, esi
cmp esi, edi
je 0x43a12c
mov ecx, ebx
mov edx, esi
call fcn.004187d6
add esi, 0x10
test al, al
je 0x43a06e
mov eax, dword [esi - 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x54]
push dword [ebp - 0x10]
push dword [ebp - 0x1c]
call fcn.00418999
add esp, 8
test eax, eax
je 0x43a0ee
cmp dword [eax + 0x70], 0
je 0x43a0ee
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x18], eax
cmp edx, dword [ebp - 0x88]
jne 0x43a0d5
lea ecx, [ebp - 0x8c]
call fcn.0042524b
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x8c]
add ecx, 0x3c
mov dword [ebp - 0x18], eax
mov dword [eax + edx*4], ecx
inc edx
mov dword [ebp - 0x84], edx
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp - 0xbc]
jne 0x43a10d
lea ecx, [ebp - 0xc0]
call fcn.0041e54f
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x1c]
mov dword [eax + edx*8], ecx
mov ecx, dword [ebp - 0x10]
mov dword [eax + edx*8 + 4], ecx
inc edx
mov dword [ebp - 0xb8], edx
jmp 0x43a06e
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x439fcc
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xb8]
cmp dword [ebp - 0x88], 0
mov dword [ebp - 0x14], eax
je 0x43a16b
push dword [ebp - 0x8c]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
cmp dword [ebp - 0x34], 0
je 0x43a181
push dword [ebp - 0x38]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
shl ebx, 3
mov eax, esi
test ebx, ebx
je 0x43a1a4
mov edx, dword [eax]
add ebx, 0xfffffff8
lea edi, [eax + 8]
mov ecx, dword [ebp - 0x2c]
push dword [eax + 4]
call fcn.004250f8
add esp, 4
mov eax, edi
jmp 0x43a186
cmp dword [ebp - 0x14], 0
mov ebx, dword [ebp - 0x58]
je 0x439ef6
push esi
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
jmp 0x439ef6
mov ecx, dword [edi + 0x70]
mov edx, dword [edi + 0x78]
push ebx
push dword [ebp - 0x14]
call fcn.0042406d
add esp, 8
mov ebx, dword [ebp - 0x58]
test eax, eax
je 0x439ef6
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x439ef6
mov esi, dword [eax + 0x14]
lea edi, [esi + ecx*8]
mov edx, dword [esi]
mov ecx, dword [ebp - 0x2c]
push dword [esi + 4]
call fcn.004250f8
add esp, 4
add esi, 8
cmp esi, edi
jne 0x43a1f2
jmp 0x439ef6
mov edi, dword [ebp - 0xe0]
xor eax, eax
mov dword [ebp - 0x50], 4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov al, 1
mov dword [ebp - 0x18], eax
test edi, edi
je 0x43a5a4
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
mov ecx, ebx
shl edi, 3
mov eax, dword [eax]
lea ebx, [edx + 4]
mov dword [ebp - 0x14], eax
test ecx, ecx
mov dword [ebp - 0x58], ecx
je 0x43b35b
mov ecx, esi
mov edx, 0x4c9ee8
call fcn.004187d6
test al, al
je 0x43a295
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x54]
push dword [ebx]
push dword [ebx - 4]
call fcn.00418999
add esp, 8
test eax, eax
je 0x43a295
test byte [eax + 0x105], 0x40
jne 0x43a59d
mov ecx, dword [ebp - 0x58]
add esi, 0x40
add ebx, 8
add ecx, 0xffffffc0
add edi, 0xfffffff8
jne 0x43a253
jmp 0x43a5a4
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
jmp 0x43aee4
mov esi, dword [ebp - 0x18]
xor eax, eax
mov dword [ebp - 0xd4], 4
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
jmp 0x43b0fa
mov edi, eax
lea eax, [ebp - 0x50]
lea edx, [ebp - 0xc0]
xor ecx, ecx
mov dword [eax], 4
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [edx], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edi
mov esi, dword [eax]
lea eax, [ebx + edi*8]
mov dword [edx + 4], esi
mov dword [edx + 8], ecx
mov dword [edx + 0x18], ecx
mov dword [edx + 0x28], ebx
mov dword [edx + 0x2c], eax
mov dword [edx + 0x30], esi
lea ecx, [ebp - 0xd4]
call fcn.00428df5
mov ecx, dword [esi + 0x4c]
mov edx, dword [esi + 0x54]
mov eax, dword [ebp - 0x18]
push dword [eax + 4]
push dword [eax]
call fcn.00418999
add esp, 8
test eax, eax
mov dword [ebp - 0x10], eax
je 0x43b3eb
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0xc0]
mov edi, dword [ebp - 0x20]
mov dword [edx], eax
mov eax, dword [ebp - 0x14]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x54]
mov dword [edx + 8], eax
mov dword [edx + 0xc], edi
mov edi, dword [ebp - 0x1c]
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], ebx
mov dword [edx + 0x18], edi
lea ecx, [ebp - 0x38]
call fcn.00428cec
lea edx, [ebp - 0xc0]
lea eax, [ebp - 0x38]
xor ecx, ecx
mov dword [edx], eax
mov eax, dword [ebp - 0x38]
mov dword [edx + 4], ebx
mov dword [edx + 8], edi
mov dword [edx + 0xc], ecx
mov dword [edx + 0x14], ecx
mov ecx, dword [ebp - 0x30]
lea ecx, [eax + ecx*8]
mov dword [edx + 0x1c], eax
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], esi
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], ecx
lea ecx, [ebp - 0x8c]
call fcn.004296ec
lea ecx, [esi + 0x7c]
call fcn.0041f502
mov edi, dword [ebp - 0x28]
test eax, eax
mov ecx, 0x4bf048
lea edx, [ebp - 0xc0]
cmovne ecx, eax
mov dword [edx], esi
mov dword [edx + 4], ecx
add edi, 4
mov dword [edx + 8], edi
mov edi, dword [ebp - 0x8c]
lea ecx, [ebp - 0x68]
push dword [ebp - 0x84]
push edi
call fcn.0041f597
add esp, 8
cmp dword [ebp - 0x88], 0
je 0x43a3fb
push edi
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
cmp dword [ebp - 0x34], 0
je 0x43a411
push dword [ebp - 0x38]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
xor eax, eax
lea edi, [ebp - 0xc0]
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x88], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x10], 0x20
mov byte [edi + 0x20], 3
mov dword [edi], eax
mov dword [ebp - 0x84], eax
mov dword [edi + 8], eax
lea eax, [ebp - 0x8c]
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], 0x4be780
mov ecx, dword [ebp - 0x10]
mov edx, edi
call fcn.004189dd
test al, al
jne 0x43b404
movsd xmm0, qword [ebp - 0x8c]
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x38]
movsd qword [edx], xmm0
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xcc]
movsd xmm0, qword [ebp - 0xd4]
mov dword [ebp - 0xb8], eax
movsd qword [ebp - 0xc0], xmm0
lea eax, [ebp - 0x68]
mov ecx, esi
push eax
push edi
call fcn.0043c878
add esp, 8
cmp dword [ebp - 0x4c], 0
mov edi, eax
je 0x43a4bf
push dword [ebp - 0x50]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
cmp dword [ebp - 0xe8], 0
je 0x43b30b
jmp 0x43b2fd
lea edx, [ebp - 0xc0]
xor ecx, ecx
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x88], ecx
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x10], 0x20
mov byte [edx + 0x20], 3
mov dword [edx], ecx
mov dword [ebp - 0x84], ecx
mov dword [edx + 8], ecx
lea ecx, [ebp - 0x8c]
mov dword [edx + 0x14], ecx
mov dword [edx + 0x18], 0x4be780
mov ecx, eax
call fcn.004189dd
mov esi, dword [ebp - 0x1c]
test al, al
jne 0x43b426
mov eax, dword [ebp - 0x84]
movsd xmm0, qword [ebp - 0x8c]
mov dword [ebp - 0x38], 4
lea ecx, [esi + 0x7c]
mov dword [ebp - 0x60], eax
xor eax, eax
movsd qword [ebp - 0x68], xmm0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
call fcn.0041f502
mov ebx, dword [ebp - 0x28]
test eax, eax
mov ecx, 0x4bf048
lea edx, [ebp - 0xc0]
cmovne ecx, eax
mov dword [edx], esi
mov dword [edx + 4], ecx
add ebx, 4
mov dword [edx + 8], ebx
lea edi, [ebp - 0x8c]
mov ecx, edi
push 0
push 0x4cc61c
call fcn.0041f597
add esp, 8
lea eax, [ebp - 0x38]
lea edx, [ebp - 0x68]
mov ecx, esi
push edi
push eax
call fcn.0043c878
add esp, 8
jmp 0x43af09
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x28]
mov edi, dword [eax + 4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
mov dword [ebp - 0x14], eax
cmp edi, dword [ebp - 0x14]
je 0x43a871
mov edx, dword [edi]
mov ebx, edi
mov ecx, dword [ebp - 0x44]
push dword [edi + 4]
call fcn.00424206
add esp, 4
test eax, eax
je 0x43a5e8
mov ecx, eax
mov edx, 0x4c9ee8
call fcn.004187d6
lea edi, [ebx + 0x14]
test al, al
jne 0x43a5b6
mov eax, dword [ebp - 0x28]
lea edi, [ebx + 0x14]
mov esi, dword [eax]
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
mov ecx, dword [esi + 0x4c]
mov edx, dword [esi + 0x54]
push ebx
mov dword [ebp - 0x20], eax
push eax
call fcn.00418999
add esp, 8
test eax, eax
mov dword [ebp - 0x10], esi
je 0x43a65c
cmp byte [ebp - 0x18], 0
je 0x43a5b6
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0xc0]
push dword [eax + 0x40]
mov dword [ebp - 0x24], eax
push dword [eax + 0x3c]
mov ebx, dword [ebp - 0x10]
push ebx
call fcn.0043ca52
add esp, 0xc
cmp dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xbc]
je 0x43a71a
test eax, eax
je 0x43a5b6
push dword [ebp - 0xc0]
jmp 0x43a84f
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0x78]
push ebx
push dword [ebp - 0x20]
call fcn.0042406d
add esp, 8
test eax, eax
je 0x43a5b6
mov edx, dword [ebp - 0x10]
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x10], eax
push eax
call fcn.004244a9
add esp, 4
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x43a6d3
mov ebx, dword [ebp - 0x20]
lea esi, [ebx + eax*8]
mov edx, dword [ebx]
mov ecx, dword [ebp - 0x44]
push dword [ebx + 4]
call fcn.00424206
add esp, 4
test eax, eax
je 0x43a6cc
mov ecx, eax
mov edx, 0x4c9ee8
call fcn.004187d6
test al, al
jne 0x43a83f
add ebx, 8
cmp ebx, esi
jne 0x43a6a4
cmp dword [ebp - 0xbc], 0
je 0x43a6ec
push dword [ebp - 0x20]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x48]
mov esi, dword [eax]
mov ebx, dword [eax + 4]
cmp edx, dword [ebp - 0x4c]
jne 0x43a707
lea ecx, [ebp - 0x50]
call fcn.0041e54f
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], ebx
inc edx
mov dword [ebp - 0x48], edx
jmp 0x43a5b6
test eax, eax
je 0x43a731
push dword [ebp - 0xc0]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebx + 0x78]
mov esi, dword [ebx + 0x70]
mov eax, dword [ecx + 0x3c]
mov ecx, dword [ecx + 0x40]
lea ebx, [edx + edx*2]
mov dword [ebp - 0xc0], esi
shl ebx, 4
add ebx, esi
test edx, edx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ecx
je 0x43a7eb
lea ebx, [esi + 0x30]
lea ecx, [ebp - 0xb8]
mov edx, esi
call fcn.004256ea
test al, al
jne 0x43a788
cmp ebx, dword [ebp - 0x20]
mov esi, ebx
jne 0x43a76b
jmp 0x43a7eb
test esi, esi
mov dword [ebp - 0xc0], ebx
je 0x43a7eb
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0x8c]
push dword [esi + 4]
push dword [esi]
push dword [ebp - 0x10]
call fcn.0043ca52
add esp, 0xc
cmp dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x88]
jne 0x43a861
test eax, eax
je 0x43a7d8
push dword [ebp - 0x8c]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xc0]
cmp esi, eax
mov dword [ebp - 0x20], eax
jne 0x43a76b
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x48]
mov esi, dword [eax + 0x3c]
mov ebx, dword [eax + 0x40]
cmp edx, dword [ebp - 0x4c]
jne 0x43a807
lea ecx, [ebp - 0x50]
call fcn.0041e54f
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x24]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], ebx
inc edx
mov dword [ebp - 0x48], edx
test byte [ecx + 0x105], 1
jne 0x43a5b6
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x43a82f
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x1c]
cmp ecx, eax
cmovbe ecx, eax
mov dword [ebp - 0x1c], ecx
jmp 0x43a5b6
cmp dword [ebp - 0xbc], 0
je 0x43a5b6
push dword [ebp - 0x20]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
jmp 0x43a5b6
test eax, eax
je 0x43a5b6
push dword [ebp - 0x8c]
jmp 0x43a84f
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [eax + 0x54]
test ecx, ecx
je 0x43aa86
mov edi, dword [eax + 0x4c]
imul esi, ecx, 0x11c
add esi, edi
mov dword [ebp - 0x10], esi
mov edx, dword [edi + 0x3c]
mov ecx, dword [ebp - 0x44]
push dword [edi + 0x40]
call fcn.00424206
add esp, 4
test eax, eax
je 0x43a8c3
mov ecx, eax
mov edx, 0x4c9ee8
call fcn.004187d6
test al, al
je 0x43a8c3
add edi, 0x11c
cmp edi, esi
jne 0x43a88f
jmp 0x43aa86
mov ebx, dword [edi + 0x7c]
lea eax, [edi + 0x11c]
mov dword [ebp - 0x20], eax
test ebx, ebx
je 0x43a929
mov esi, dword [edi + 0x74]
shl ebx, 4
mov dword [ebp - 0x14], 0
add esi, 0xc
mov eax, dword [esi - 4]
mov ecx, dword [esi]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], ecx
mov edx, dword [esi - 0xc]
mov ecx, dword [ebp - 0x44]
push dword [esi - 8]
call fcn.00424206
add esp, 4
test eax, eax
je 0x43a91f
mov ecx, eax
lea edx, [ebp - 0xc0]
call fcn.004187d6
test al, al
je 0x43a91f
mov al, 1
mov dword [ebp - 0x14], eax
add esi, 0x10
add ebx, 0xfffffff0
jne 0x43a8e3
jmp 0x43a930
mov dword [ebp - 0x14], 0
mov ebx, dword [edi + 0x88]
mov esi, dword [edi + 0x80]
shl ebx, 4
test ebx, ebx
je 0x43a982
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], ecx
mov edx, dword [esi]
mov ecx, dword [ebp - 0x44]
push dword [esi + 4]
call fcn.00424206
add esp, 4
test eax, eax
je 0x43a99a
mov ecx, eax
lea edx, [ebp - 0xc0]
call fcn.004187d6
add esi, 0x10
add ebx, 0xfffffff0
test al, al
jne 0x43a93f
jmp 0x43a99a
mov ecx, dword [ebp - 0x14]
cmp dword [edi + 0x88], 0
mov eax, 1
movzx ecx, cl
cmovne ecx, eax
mov dword [ebp - 0x14], ecx
mov eax, dword [edi + 0x94]
mov esi, dword [edi + 0xa0]
test eax, eax
je 0x43a9b0
test esi, esi
jne 0x43a9b4
jmp 0x43a9f5
test esi, esi
je 0x43aa2b
mov ebx, dword [edi + 0x98]
shl esi, 3
test esi, esi
je 0x43aa2b
mov edx, dword [ebx]
mov ecx, dword [ebp - 0x44]
push dword [ebx + 4]
call fcn.00424206
add esp, 4
test eax, eax
je 0x43a9eb
mov ecx, eax
mov edx, 0x4c9ee8
call fcn.004187d6
add ebx, 8
add esi, 0xfffffff8
test al, al
jne 0x43a9bd
mov eax, dword [edi + 0x94]
test eax, eax
je 0x43aa31
mov esi, dword [edi + 0x8c]
lea ebx, [esi + eax*8]
mov edx, dword [esi]
mov ecx, dword [ebp - 0x44]
push dword [esi + 4]
call fcn.00424206
add esp, 4
test eax, eax
je 0x43aa22
mov ecx, eax
mov edx, 0x4c9ee8
call fcn.004187d6
test al, al
jne 0x43aa2b
add esi, 8
cmp esi, ebx
jne 0x43a9fe
jmp 0x43aa31
test byte [ebp - 0x14], 1
je 0x43aa7b
mov edx, dword [ebp - 0x48]
mov esi, dword [edi + 0x3c]
mov ebx, dword [edi + 0x40]
cmp edx, dword [ebp - 0x4c]
jne 0x43aa4a
lea ecx, [ebp - 0x50]
call fcn.0041e54f
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], ebx
inc edx
mov dword [ebp - 0x48], edx
test byte [edi + 0x105], 1
jne 0x43aa7b
mov eax, dword [edi + 0x14]
mov esi, dword [ebp - 0x10]
test eax, eax
je 0x43aa6e
mov eax, dword [edi + 0x18]
mov ecx, dword [ebp - 0x1c]
cmp ecx, eax
cmovbe ecx, eax
mov dword [ebp - 0x1c], ecx
jmp 0x43aa7e
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x20]
jmp 0x43a8ba
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [eax + 0x144]
or ecx, dword [eax + 0x148]
test cl, 0x10
jne 0x43ab3d
mov ecx, dword [eax + 0x54]
test ecx, ecx
je 0x43ab3d
mov edi, dword [eax + 0x4c]
imul ebx, ecx, 0x11c
add edi, 0x14
add ebx, 0xfffffee4
cmp dword [edi + 0xf4], 0
jne 0x43ab2e
cmp dword [edi + 0x20], 0x110000
jne 0x43ab2e
mov edx, dword [edi + 0x28]
mov ecx, dword [ebp - 0x44]
push dword [edi + 0x2c]
call fcn.00424206
add esp, 4
test eax, eax
je 0x43aaf4
mov ecx, eax
mov edx, 0x4c9ee8
call fcn.004187d6
test al, al
jne 0x43ab2e
cmp dword [edi], 0
je 0x43ab01
mov eax, dword [ebp - 0x1c]
cmp dword [edi + 4], eax
jae 0x43ab2e
mov edx, dword [ebp - 0x48]
mov eax, dword [edi + 0x2c]
mov esi, dword [edi + 0x28]
cmp edx, dword [ebp - 0x4c]
mov dword [ebp - 0x14], eax
jne 0x43ab1d
lea ecx, [ebp - 0x50]
call fcn.0041e54f
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x14]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], ecx
inc edx
mov dword [ebp - 0x48], edx
test ebx, ebx
je 0x43ab3d
add edi, 0x11c
jmp 0x43aab7
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x43ac9e
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
lea ecx, [eax + 0x7c]
mov dword [ebp - 0x24], esi
call fcn.0041f502
test eax, eax
mov ecx, 0x4bf048
mov ebx, dword [ebp - 0x2c]
lea edx, [ebp - 0xd4]
cmovne ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov dword [edx + 8], ebx
lea ecx, [ebp - 0xc0]
push dword [ebp + 8]
push edi
push esi
call fcn.004234ff
add esp, 0xc
mov esi, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x2c], edi
lea ecx, [esi + esi*2]
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], edx
test esi, esi
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x10], ebx
lea ecx, [ebx + ecx*4]
mov dword [ebp - 0x80], ecx
mov ecx, ebx
je 0x43acc8
shl esi, 2
lea esi, [esi + esi*2]
lea edi, [ebx + 0xc]
mov dword [ebp - 0x84], edi
mov ecx, dword [ebx]
test ecx, ecx
je 0x43acbd
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xb0], 0x20
mov byte [ebp - 0xa0], 3
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], 0x4be780
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x20], ecx
push eax
call fcn.00418ceb
add esp, 4
test al, al
jne 0x43b38b
movsd xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x14], 0
movsd qword [ebp - 0x68], xmm0
mov dword [ebp - 0x60], eax
je 0x43ac7a
push dword [ebp - 0x20]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov eax, dword [ebp - 0x60]
add esi, 0xfffffff4
mov dword [ebx + 8], eax
movsd xmm0, qword [ebp - 0x68]
movsd qword [ebx], xmm0
mov ebx, edi
jne 0x43abd9
mov ecx, dword [ebp - 0x84]
mov eax, edi
jmp 0x43acc2
cmp dword [ebp - 0x4c], 0
je 0x439e9c
push dword [ebp - 0x50]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
jmp 0x439e9c
lea ecx, [ebx + 0xc]
mov eax, ebx
mov edi, dword [ebp - 0x80]
mov ebx, dword [ebp - 0x10]
sub eax, ebx
lea ebx, [ebp - 0x8c]
mov esi, 0xaaaaaaab
mov edx, 4
sub edi, ecx
mov dword [ebx + 4], 0
mov dword [ebx], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
mul esi
mov eax, edi
mov esi, edx
mov edx, 0xaaaaaaab
mul edx
shr esi, 3
shr edx, 3
call fcn.004198e4
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], esi
mov esi, dword [ebp - 0x24]
mov ecx, ebx
call fcn.004198af
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x7c]
mov dword [ecx - 0x10], esi
mov dword [ecx - 0xc], eax
lea eax, [esi + edx*8]
mov dword [ecx - 8], esi
mov edx, dword [ebp - 0x1c]
mov dword [ecx - 4], eax
mov eax, dword [ebp - 0xd8]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xdc]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x54]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], edx
call fcn.00428035
test eax, eax
je 0x43ad86
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov esi, dword [ebp - 0x8c]
cmp dword [ebp - 0x7c], 0
mov dword [ebp - 0x14], eax
je 0x43adbf
test esi, esi
je 0x43add3
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x84]
jmp 0x43adce
mov dword [ebp - 0x7c], 0
mov esi, dword [ebp - 0x8c]
test esi, esi
je 0x43b203
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x80]
cmp edx, eax
je 0x43b211
lea ecx, [edx + 8]
mov dword [ebp - 0x84], ecx
mov edi, dword [edx]
mov edx, dword [edx + 4]
mov dword [ebp - 0x14], edx
jmp 0x43adcc
test esi, esi
je 0x43add3
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x80]
sub eax, ecx
shr eax, 3
jmp 0x43add7
xor esi, esi
xor eax, eax
cmp eax, 4
mov ecx, 3
cmovae ecx, eax
inc ecx
call fcn.00425643
mov esi, dword [ebp - 0x14]
mov ebx, eax
lea ecx, [ebp - 0x38]
mov dword [eax], edi
lea edi, [ebp - 0xc0]
mov dword [ebx + 4], esi
mov dword [ecx], ebx
mov dword [ecx + 4], edx
mov dword [ecx + 8], 1
lea esi, [ebp - 0x8c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
xor esi, esi
inc esi
cmp dword [ebp - 0xb0], 0
je 0x43ae3f
mov edx, dword [ebp - 0xa0]
lea ecx, [ebp - 0xb0]
call fcn.00428035
test eax, eax
jne 0x43ae64
mov dword [ebp - 0xb0], 0
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
je 0x43aed4
mov eax, dword [ebp - 0xb8]
cmp eax, dword [ebp - 0xb4]
je 0x43aeba
lea ecx, [eax + 8]
mov dword [ebp - 0xb8], ecx
mov edi, dword [eax]
mov eax, dword [eax + 4]
cmp esi, dword [ebp - 0x34]
jne 0x43aeaa
mov ebx, dword [ebp - 0xc0]
cmp dword [ebp - 0xb0], 0
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x43ae93
mov eax, dword [ebp - 0xb4]
sub eax, dword [ebp - 0xb8]
shr eax, 3
jmp 0x43ae95
xor eax, eax
inc eax
mov edx, esi
lea ecx, [ebp - 0x38]
push eax
call fcn.00428a8c
add esp, 4
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
mov dword [ebx + esi*8], edi
mov dword [ebx + esi*8 + 4], eax
inc esi
mov dword [ebp - 0x30], esi
jmp 0x43ae17
cmp dword [ebp - 0xbc], 0
je 0x43aed4
push ecx
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x14], eax
jmp 0x43b236
mov edx, edi
lea edi, [ebp - 0x110]
mov ecx, edi
push 0
call fcn.00435a5b
add esp, 4
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov ecx, 0xd
push edi
call fcn.00435f95
add esp, 4
mov edi, eax
jmp 0x43b30b
mov eax, dword [ebp - 0x20]
jmp 0x43af24
mov esi, dword [edi]
mov eax, dword [edi + 4]
add edi, 0xc
mov dword [ebp - 0x10], 0
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00416d74
mov dword [ebp - 0x24], edx
push dword [ebp - 0x18]
push esi
mov dword [ebp - 0x5c], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [ebp - 0x10]
xor edx, edx
cmp esi, 2
je 0x43af5e
test edi, edi
je 0x43af5e
mov eax, dword [ebp - 0x14]
mov ecx, 0xaaaaaaab
sub eax, edi
mul ecx
shr edx, 3
cmp edx, 4
mov ecx, 3
cmovae ecx, edx
inc ecx
call fcn.0041c61d
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x58], eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x24]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0xc0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], 1
xor ecx, ecx
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, esi
mov esi, ecx
test eax, eax
je 0x43afbe
cmp eax, 2
je 0x43afcd
test esi, esi
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 0
je 0x43afc4
jmp 0x43b00b
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], esi
test edi, edi
je 0x43afcd
cmp edi, dword [ebp - 0x14]
jne 0x43b001
test ebx, ebx
je 0x43b0d9
cmp ebx, dword [ebp - 0x2c]
je 0x43b0d9
mov eax, dword [ebx + 0x24]
mov edi, dword [ebx + 0x28]
mov esi, dword [ebx + 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x30]
add ebx, 0x16c
lea eax, [eax + eax*2]
lea eax, [edi + eax*4]
mov dword [ebp - 0x14], eax
xor eax, eax
inc eax
jmp 0x43afa1
mov esi, dword [edi]
mov eax, dword [edi + 4]
add edi, 0xc
jmp 0x43b011
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x20]
mov ecx, eax
mov dword [ebp - 0x5c], eax
call fcn.00416d74
mov dword [ebp - 0xc8], edx
push dword [ebp - 0x5c]
push esi
mov dword [ebp - 0x54], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xbc]
jne 0x43b0a1
xor eax, eax
cmp esi, 2
je 0x43b085
test esi, esi
je 0x43b070
xor eax, eax
cmp dword [ebp - 0x18], 0
setne al
test edi, edi
je 0x43b085
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x14]
mov ecx, 0xaaaaaaab
sub eax, edi
mul ecx
mov eax, dword [ebp - 0x58]
shr edx, 3
add eax, edx
jmp 0x43b085
test edi, edi
je 0x43b085
mov eax, dword [ebp - 0x14]
mov ecx, 0xaaaaaaab
sub eax, edi
mul ecx
mov eax, edx
shr eax, 3
inc eax
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0xc0]
push eax
call fcn.004250cd
add esp, 4
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], esi
mov edx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
lea eax, [ecx + ecx*2]
inc ecx
mov dword [edx + eax*4], esi
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0x24], ecx
mov dword [edx + eax*4 + 4], esi
mov esi, dword [ebp - 0x5c]
mov dword [edx + eax*4 + 8], esi
mov dword [ebp - 0xb8], ecx
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
jmp 0x43af9d
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xb8]
movsd xmm0, qword [ebp - 0xc0]
mov esi, dword [ecx]
mov dword [ebp - 0xcc], eax
movsd qword [ebp - 0xd4], xmm0
lea ecx, [esi + 0x7c]
call fcn.0041f502
mov edi, dword [ebp - 0x28]
test eax, eax
mov ecx, 0x4bf048
lea edx, [ebp - 0x38]
cmovne ecx, eax
mov dword [edx], esi
mov dword [edx + 4], ecx
add edi, 4
mov dword [edx + 8], edi
lea ecx, [ebp - 0x68]
push 0
push 0x4cc61c
call fcn.0041f597
add esp, 8
xor ebx, ebx
mov ecx, 0xa
call fcn.0041fc5f
mov edi, eax
xor ebx, ebx
mov edx, dword [ebp - 0x1c]
mov ecx, eax
call fcn.0041f852
mov eax, dword [ebp - 0xcc]
movsd xmm0, qword [ebp - 0xd4]
lea esi, [ebp - 0xc0]
mov bl, 1
mov dword [esi + 0xb], eax
movsd qword [esi + 3], xmm0
mov eax, dword [ebp - 0x44]
movsd xmm0, qword [esi + 7]
movsd qword [ebp - 0x85], xmm0
movsd xmm0, qword [esi]
mov byte [esi], 0
mov byte [esi + 4], 2
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x3c]
movsd qword [ebp - 0x8c], xmm0
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0xc4]
movsd xmm0, qword [ebp - 0x8c]
movsd xmm1, qword [ebp - 0x85]
mov dword [esi + 0x10], eax
mov al, 3
mov byte [esi + 0x14], al
mov byte [esi + 0x18], al
movsd qword [esi + 0x20], xmm1
movsd qword [esi + 0x19], xmm0
mov ecx, edi
mov edx, esi
call fcn.0041fd78
cmp dword [ebp - 0x68], 0
je 0x43b30b
mov eax, dword [ebp - 0x60]
movsd xmm0, qword [ebp - 0x68]
mov dword [ebp - 0xb4], eax
movsd qword [ebp - 0xbc], xmm0
mov byte [ebp - 0xc0], 4
mov edx, 0xf
mov ecx, edi
push esi
call fcn.00420059
add esp, 4
jmp 0x43b30b
mov dword [ebp - 0x14], 0
mov edi, 4
jmp 0x43b234
cmp dword [ebp - 0x88], 0
mov edi, 4
mov dword [ebp - 0x14], 0
je 0x43b234
push esi
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
xor esi, esi
lea edx, [ebp - 0xd4]
lea ecx, [ebp - 0x38]
push esi
mov dword [ebp - 0x20], edi
push edi
call fcn.0041f597
add esp, 8
xor ebx, ebx
mov ecx, 9
call fcn.0041fc5f
mov edi, eax
xor ebx, ebx
mov edx, dword [ebp - 0x1c]
mov ecx, eax
call fcn.0041f852
mov eax, dword [ebp - 0x60]
movsd xmm0, qword [ebp - 0x68]
lea esi, [ebp - 0xc0]
mov bl, 1
mov dword [esi + 0xb], eax
movsd qword [esi + 3], xmm0
movsd xmm0, qword [esi + 7]
movsd qword [ebp - 0x85], xmm0
movsd xmm0, qword [esi]
mov byte [esi], 1
mov byte [esi + 4], 3
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [ebp - 0x8c]
movsd xmm1, qword [ebp - 0x85]
movsd qword [esi + 5], xmm0
movsd qword [esi + 0xc], xmm1
mov ecx, edi
mov edx, esi
call fcn.0043ccee
cmp dword [ebp - 0x38], 0
mov ebx, dword [ebp - 0x20]
je 0x43b2f7
mov eax, dword [ebp - 0x30]
movsd xmm0, qword [ebp - 0x38]
mov dword [ebp - 0xb4], eax
movsd qword [ebp - 0xbc], xmm0
mov byte [ebp - 0xc0], 4
mov edx, 0xf
mov ecx, edi
push esi
call fcn.00420059
add esp, 4
cmp dword [ebp - 0x14], 0
je 0x43b30b
push ebx
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
lea ecx, [ebp - 0x104]
call fcn.0043c75e
mov eax, edi
add esp, 0x104
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_srcio_borrowed_buf.rs_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_alloc_srccollections_btree_navigate.rs
push 0x4c0758
call fcn.004478a0
add esp, 4
jmp 0x43b446
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_srcio_borrowed_buf.rs_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_alloc_srccollections_btree_navigate.rs
push 0x4c0758
call fcn.004478a0
add esp, 4
jmp 0x43b446
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_srcio_borrowed_buf.rs_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_alloc_srccollections_btree_navigate.rs
push 0x4c0758
call fcn.004478a0
add esp, 4
jmp 0x43b446
mov ecx, 4
mov edx, 4
call fcn.00413450
jmp 0x43b446
lea eax, [ebp - 0x3d]
mov edx, 0x37
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
push 0x4c6a24
push 0x4be804
push eax
call fcn.004491d0
add esp, 0xc
jmp 0x43b446
lea eax, [ebp - 0x3d]
mov edx, 0x37
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
push 0x4c6a24
push 0x4be804
push eax
call fcn.004491d0
add esp, 0xc
jmp 0x43b446
mov edx, 0x63
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues_home_kevin_.cargo_registry_src_index.crates.io_6f17d22bba15001f_clap_builder_4.5.2_src_builder_arg.rs
push 0x4bec18
call fcn.004493b0
add esp, 4
jmp 0x43b446
mov edx, 0x63
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues_home_kevin_.cargo_registry_src_index.crates.io_6f17d22bba15001f_clap_builder_4.5.2_src_builder_arg.rs
push 0x4c0090
call fcn.004493b0
add esp, 4
jmp 0x43b446
lea eax, [ebp - 0x3d]
mov edx, 0x37
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
push 0x4c6a24
push 0x4be804
push eax
call fcn.004491d0
add esp, 0xc
jmp 0x43b446
lea eax, [ebp - 0x3d]
mov edx, 0x37
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
push 0x4c6a24
push 0x4be804
push eax
call fcn.004491d0
add esp, 0xc
ud2