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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x254
mov edi, dword [esp + 0x268]
mov eax, edx
mov ebp, ecx
lea esi, [esp + 0x22c]
push 0x7b
pop edx
mov ecx, esi
push edi
push eax
call fcn.00431fec
pop eax
pop ecx
and dword [esi + 0x1c], 0
mov ecx, esi
mov dword [esi + 0x20], edi
mov word [esi + 0x24], 1
call fcn.004333e7
test eax, eax
je 0x4322cd
mov ecx, dword [ebp + 4]
mov esi, edx
mov edx, eax
push esi
call fcn.004fc225
pop eax
push 0xa
pop ecx
lea ebx, [esp + 0x204]
lea esi, [esp + 0x22c]
lea eax, [ebp + 0x15]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x70], eax
mov dword [esp + 0x5c], ebp
mov ecx, ebx
call fcn.004333e7
mov edi, eax
test eax, eax
je 0x4333dc
lea esi, [esp + 0x98]
mov eax, edx
mov ecx, esi
push 0x7d
pop edx
mov dword [esp + 0x8c], eax
push eax
push edi
call fcn.00431fec
pop eax
pop ecx
lea ecx, [esp + 0x14]
mov edx, esi
call fcn.0043202a
cmp dword [esp + 0x14], 0
je 0x4322ed
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x90], edi
mov ecx, edi
mov dword [esp + 0x84], eax
mov dword [esp + 0x94], esi
mov edx, esi
push 4
push 0x5cec03
call fcn.004154e3
pop ecx
pop edx
test al, al
mov dword [esp + 0x88], edi
je 0x43237d
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x9c]
test edx, edx
jne 0x4323c7
mov edx, dword [eax + 0x20]
add eax, 0x24
jmp 0x4323cc
mov ecx, edi
mov edx, esi
push 3
push 0x58e8d2
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x432427
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0xa8]
test esi, esi
je 0x432508
mov ebx, dword [edi + 0xb0]
push 0x20
pop ecx
mov edx, esi
cmp ebx, 8
jae 0x4324e2
push ebx
call fcn.004337e1
jmp 0x4324e8
add eax, 0xa4
lea ecx, [esp + 0x98]
push dword [eax]
call fcn.00433454
pop eax
mov esi, dword [esp + 0xa0]
mov ebp, dword [esp + 0x98]
mov ecx, esi
call fcn.0041601f
mov ebx, eax
mov edi, edx
push esi
push ebp
push eax
call fcn.00570db0
add esp, 0xc
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
call fcn.00448429
mov ebp, dword [esp + 0x5c]
jmp 0x432562
mov ecx, edi
mov edx, esi
push 7
push 0x63763c
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x4324bb
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xbc]
mov esi, dword [eax + 0xc4]
test ecx, ecx
cmovne esi, ecx
test esi, esi
je 0x432575
xor edx, edx
test ecx, ecx
sete dl
mov ebx, dword [eax + edx*8 + 0xc0]
mov eax, dword [ebp + 4]
mov ecx, ebx
mov dword [esp + 0x30], eax
call fcn.0041601f
mov edi, eax
mov dword [esp + 0x4c], edx
push ebx
push esi
push eax
call fcn.00570db0
add esp, 0xc
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ebx
lea ebx, [esp + 0x204]
call fcn.004213b8
jmp 0x432575
mov ecx, edi
mov edx, esi
push 6
push 0x58e8d5
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x43259d
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
push 0
jmp 0x4325bb
push ebx
call fcn.00440630
pop ecx
cmp eax, 1
jne 0x432508
lea ecx, [esp + 0x14]
mov edx, esi
push 1
push 0x633fad
push 0x20
push ebx
call fcn.00433805
add esp, 0x10
jmp 0x432562
mov edx, dword [edi + 0x20]
lea ecx, [esp + 0x98]
push dword [edi + 0x24]
call fcn.00433454
pop eax
mov esi, dword [esp + 0xa0]
mov ebp, dword [esp + 0x98]
mov ecx, esi
call fcn.0041601f
mov edi, eax
mov ebx, edx
push esi
push ebp
mov ebp, dword [esp + 0x64]
push eax
call fcn.00570db0
add esp, 0xc
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
call fcn.00448429
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x14]
call fcn.004213b8
lea ebx, [esp + 0x204]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x8c]
add edx, ecx
sub eax, ecx
mov ecx, dword [ebp + 4]
push eax
call fcn.004fc225
pop eax
jmp 0x4322ed
mov ecx, edi
mov edx, esi
push 0x13
push 0x58e8db
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x4325c6
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
push 1
push 0
call fcn.004338a8
pop eax
pop ecx
jmp 0x432575
mov ecx, edi
mov edx, esi
push 0xe
push 0x58e8ee
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x4325e9
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
xor eax, eax
inc eax
push eax
push eax
jmp 0x4325bd
mov ecx, edi
mov edx, esi
push 5
push 0x58e8fc
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x432607
mov ecx, ebp
xor edx, edx
push 0
jmp 0x432640
mov ecx, edi
mov edx, esi
push 0x12
push 0x58e901
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x432623
mov ecx, ebp
xor edx, edx
jmp 0x43263e
mov ecx, edi
mov edx, esi
push 0xd
push 0x58e913
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x43264b
xor edx, edx
mov ecx, ebp
inc edx
push 1
call fcn.00433928
pop eax
jmp 0x432575
mov ecx, edi
mov edx, esi
push 0xd
push 0x58e920
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x4326f5
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 4]
movsd xmm0, qword [eax + 0x1c]
movsd xmm1, qword [eax + 0x22]
lea ecx, [eax + 0x1c]
movsd qword [esp + 0xa], xmm1
movsd qword [esp + 4], xmm0
call fcn.00419028
mov dword [esp + 0x38], eax
lea eax, [esp + 4]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x98], 0x58e96c
mov dword [esp + 0x14], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x18], 0x4159a6
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], fcn.00417b33
push 2
pop ecx
mov dword [esp + 0x9c], ecx
and dword [esp + 0xa8], 0
lea eax, [esp + 0x14]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x98]
mov dword [esp + 0xa4], ecx
push eax
push esi
call fcn.00419087
pop ecx
pop edx
jmp 0x432575
mov ecx, edi
mov edx, esi
push 5
push 0x58e92d
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x43276f
xor edi, edi
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 0x10]
lea esi, [esp + 0x98]
inc edi
mov edx, esi
mov dword [esp + 0x98], edi
and dword [esp + 0x9c], 0
and dword [esp + 0xa0], 0
mov dword [esp + 0x30], eax
push 0
push str.assertion_failed:_mid___self.len__chunk_size_must_be_non_zero
call fcn.0041e253
pop eax
pop ecx
mov ecx, esi
call fcn.0041e778
mov esi, dword [esp + 0x98]
test esi, esi
je 0x432835
mov edi, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
jmp 0x43283d
mov ecx, edi
mov edx, esi
push 8
push 0x58e932
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x432858
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 4]
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 0x54]
mov edi, dword [ebx + 0x4c]
mov dword [esp + 0x30], eax
imul eax, eax, 0x11c
mov dword [esp + 4], edi
add eax, edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
call fcn.00424104
test eax, eax
je 0x4329ec
mov esi, eax
call fcn.00423ea7
mov dword [eax], esi
mov dword [esp + 0x14], eax
mov ebx, eax
xor edi, edi
mov dword [esp + 0x18], 4
mov dword [esp + 0x1c], 1
mov eax, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
inc edi
mov dword [esp + 0xa0], eax
movsd qword [esp + 0x98], xmm0
lea ecx, [esp + 0x98]
call fcn.00424104
test eax, eax
je 0x432911
cmp edi, dword [esp + 0x18]
mov esi, eax
jne 0x43282b
lea ecx, [esp + 0x14]
call fcn.00423ec4
mov ebx, dword [esp + 0x14]
mov dword [ebx + edi*4], esi
inc edi
mov dword [esp + 0x1c], edi
jmp 0x432802
mov ecx, esi
mov eax, esi
mov esi, edi
mov edi, ecx
mov ecx, dword [esp + 0x30]
mov edx, esi
push eax
call fcn.0041962d
pop eax
mov ecx, esi
mov edx, edi
call fcn.00448429
jmp 0x432575
mov ecx, edi
mov edx, esi
push 7
push 0x58e93a
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x432933
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x4c]
imul eax, dword [eax + 0x54], 0x11c
add eax, ecx
mov dword [esp + 4], ecx
lea ecx, [esp + 4]
mov dword [esp + 8], eax
call fcn.00421925
test eax, eax
je 0x43317e
mov ebx, eax
call fcn.00423ea7
mov dword [eax], ebx
mov dword [esp + 0x98], eax
mov esi, eax
xor edi, edi
mov dword [esp + 0x9c], 4
mov dword [esp + 0xa0], 1
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
inc edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x14]
call fcn.00421925
test eax, eax
je 0x433143
cmp edi, dword [esp + 0x9c]
mov ebx, eax
jne 0x432904
lea ecx, [esp + 0x98]
call fcn.00423ec4
mov esi, dword [esp + 0x98]
mov dword [esi + edi*4], ebx
inc edi
mov dword [esp + 0xa0], edi
jmp 0x4328d5
mov eax, dword [esp + 0x14]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x64], edi
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x18]
mov edi, dword [ebx + 0x4c]
mov dword [esp + 0x7c], eax
mov eax, dword [ebx + 0x54]
jmp 0x432a07
mov ecx, edi
mov edx, esi
push 0xb
push 0x58e941
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x433153
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x4c]
imul eax, dword [eax + 0x54], 0x11c
add eax, ecx
mov dword [esp + 4], ecx
lea ecx, [esp + 4]
mov dword [esp + 8], eax
call fcn.004218ea
test eax, eax
je 0x4331e1
mov ebx, eax
call fcn.00423ea7
mov dword [eax], ebx
mov dword [esp + 0x98], eax
mov esi, eax
xor edi, edi
mov dword [esp + 0x9c], 4
mov dword [esp + 0xa0], 1
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
inc edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x14]
call fcn.004218ea
test eax, eax
je 0x4331a7
cmp edi, dword [esp + 0x9c]
mov ebx, eax
jne 0x4329df
lea ecx, [esp + 0x98]
call fcn.00423ec4
mov esi, dword [esp + 0x98]
mov dword [esi + edi*4], ebx
inc edi
mov dword [esp + 0xa0], edi
jmp 0x4329b0
mov dword [esp + 0x64], 0
mov dword [esp + 0x7c], 0
push 4
pop eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x30]
imul eax, eax, 0x11c
mov dword [esp + 4], edi
lea ecx, [esp + 4]
add eax, edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
call fcn.00423e41
test eax, eax
je 0x432ab7
mov esi, eax
call fcn.00423ea7
mov dword [eax], esi
mov dword [esp + 0x14], eax
mov ebx, eax
xor edi, edi
mov dword [esp + 0x18], 4
mov dword [esp + 0x1c], 1
mov eax, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
inc edi
mov dword [esp + 0xa0], eax
movsd qword [esp + 0x98], xmm0
lea ecx, [esp + 0x98]
call fcn.00423e41
test eax, eax
je 0x432a9b
cmp edi, dword [esp + 0x18]
mov esi, eax
jne 0x432a91
lea ecx, [esp + 0x14]
call fcn.00423ec4
mov ebx, dword [esp + 0x14]
mov dword [ebx + edi*4], esi
inc edi
mov dword [esp + 0x1c], edi
jmp 0x432a6c
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x60], edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], ecx
push 4
pop esi
jmp 0x432ace
mov dword [esp + 0x60], 0
mov dword [esp + 0x78], 0
push 4
pop esi
mov dword [esp + 0x68], esi
mov ecx, dword [ebx + 0x64]
mov edx, dword [ebx + 0x6c]
call fcn.0041f55f
mov edi, dword [ebx + 0x4c]
imul ecx, dword [ebx + 0x54], 0x11c
mov dword [esp + 0x98], 4
and dword [esp + 0x9c], 0
xor edx, edx
lea ebx, [esp + 0x204]
mov byte [esp + 0x2f], al
add ecx, edi
mov dword [esp + 0x30], ecx
mov ecx, esi
lea eax, [edx*8]
mov dword [esp + 0x34], ecx
mov dword [esp + 0xa0], edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x48], eax
mov ecx, edi
cmp ecx, dword [esp + 0x30]
je 0x432bc6
lea edi, [ecx + 0x11c]
call fcn.00423f5b
test eax, eax
mov ecx, edi
je 0x432b27
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x48]
mov esi, eax
mov dword [esp + 0x58], edx
mov eax, ecx
test ebx, ebx
je 0x432b87
lea ecx, [eax + 8]
mov edx, dword [eax + 4]
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax]
push dword [esp + 0x58]
push esi
call fcn.00418dbd
mov ecx, dword [esp + 0x3c]
add esp, 8
add ebx, 0xfffffff8
test al, al
mov eax, dword [esp + 0x4c]
je 0x432b52
lea ebx, [esp + 0x204]
jmp 0x432b25
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x9c]
jne 0x432bae
lea ecx, [esp + 0x98]
call fcn.004260f7
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x58]
mov dword [ecx + edx*8], esi
lea ebx, [esp + 0x204]
mov dword [ecx + edx*8 + 4], eax
inc edx
jmp 0x432b0b
mov eax, dword [esp + 0x98]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x144]
or ecx, dword [eax + 0x148]
mov byte [esp + 3], 1
test cx, cx
mov dword [esp + 0x80], ecx
js 0x432d07
mov cl, byte [esp + 0x2f]
xor cl, 1
jne 0x432d07
mov byte [esp + 3], 0
mov edx, 0x58e9f4
mov ecx, dword [eax + 0x15c]
mov eax, dword [eax + 0x160]
test ecx, ecx
cmove ecx, edx
push 8
pop edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x54]
cmove eax, edx
mov esi, dword [ebp + 4]
mov dword [esp + 0x44], eax
movsd xmm0, qword [ecx]
mov eax, dword [ecx + 8]
movzx edx, word [ecx + 0xc]
mov word [esp + 0x10], dx
mov dword [esp + 0xc], eax
movsd qword [esp + 4], xmm0
call fcn.00419028
mov dword [esp + 0x38], eax
lea eax, [esp + 4]
mov dword [esp + 0x14], 0x58e9fc
mov dword [esp + 0x18], 4
mov ecx, fcn.00417b33
and dword [esp + 0x24], 0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x98], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x9c], 0x4159a6
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x98]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x20], 3
push eax
push esi
call fcn.00419087
pop ecx
pop edx
mov eax, dword [ebp + 8]
mov ecx, ebp
mov edx, dword [eax + 0x64]
push dword [eax + 0x6c]
call fcn.004339d1
pop eax
mov edi, dword [esp + 0x64]
test edi, edi
je 0x432ddd
mov ecx, dword [ebp + 4]
mov edx, 0x58dc83
push 2
call fcn.004fc225
pop eax
jmp 0x432d13
mov edi, dword [esp + 0x64]
test edi, edi
je 0x433190
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x40], str.ArgumentsOptions________Only_called_with_possible_value
mov byte [esp + 3], 0
mov dword [esp + 0x44], 9
mov esi, dword [ebp + 4]
movsd xmm0, qword [ecx]
mov eax, dword [ecx + 8]
movzx edx, word [ecx + 0xc]
mov word [esp + 0x10], dx
mov dword [esp + 0xc], eax
movsd qword [esp + 4], xmm0
call fcn.00419028
mov dword [esp + 0x38], eax
lea eax, [esp + 4]
mov dword [esp + 0x14], 0x58e9fc
mov dword [esp + 0x18], 4
mov ecx, fcn.00417b33
and dword [esp + 0x24], 0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x98], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x9c], 0x4159a6
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x98]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x20], 3
push eax
push esi
call fcn.00419087
pop ecx
pop edx
mov edx, dword [esp + 0x6c]
mov ecx, ebp
push 0x4344dc
push edi
call fcn.00434500
pop eax
pop ecx
mov edi, dword [esp + 0x60]
test edi, edi
je 0x432ec3
mov ecx, dword [ebp + 4]
mov edx, 0x58dc83
push 2
call fcn.004fc225
pop eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x40], 0x58ea25
mov byte [esp + 3], 0
mov dword [esp + 0x44], 7
mov esi, dword [ebp + 4]
movsd xmm0, qword [ecx]
mov eax, dword [ecx + 8]
movzx edx, word [ecx + 0xc]
mov word [esp + 0x10], dx
mov dword [esp + 0xc], eax
movsd qword [esp + 4], xmm0
call fcn.00419028
mov dword [esp + 0x38], eax
lea eax, [esp + 4]
mov dword [esp + 0x14], 0x58e9fc
mov dword [esp + 0x18], 4
mov ecx, fcn.00417b33
and dword [esp + 0x24], 0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x98], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x9c], 0x4159a6
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x98]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x20], 3
push eax
push esi
call fcn.00419087
pop ecx
pop edx
mov edx, dword [esp + 0x68]
mov ecx, ebp
push 0x4350af
push edi
call fcn.00434500
pop eax
pop ecx
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x4330d0
mov eax, dword [esp + 0x48]
lea ecx, [eax + ecx*8]
mov edi, eax
mov dword [esp + 0x4c], ecx
cmp edi, dword [esp + 0x4c]
je 0x4330b7
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 0x4c]
imul eax, dword [eax + 0x54], 0x11c
add eax, ecx
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x20], eax
call fcn.004244d7
test eax, eax
je 0x433096
mov ebx, eax
mov dword [esp + 0x30], edi
call fcn.00423ea7
mov dword [eax], ebx
xor edi, edi
mov esi, eax
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 1
movsd xmm0, qword [esp + 0x14]
movsd xmm1, qword [esp + 0x1c]
inc edi
movsd qword [esp + 0xa0], xmm1
movsd qword [esp + 0x98], xmm0
lea ecx, [esp + 0x98]
call fcn.004244d7
test eax, eax
je 0x432fa6
cmp edi, dword [esp + 8]
mov ebx, eax
jne 0x432f9c
lea ecx, [esp + 4]
call fcn.00423ec4
mov esi, dword [esp + 4]
mov dword [esi + edi*4], ebx
inc edi
mov dword [esp + 0xc], edi
jmp 0x432f77
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
test edi, edi
je 0x43309d
cmp byte [esp + 0x34], 0
mov dword [esp + 0x58], edx
jne 0x432fd1
mov ecx, dword [ebp + 4]
mov edx, 0x58dc83
push 2
call fcn.004fc225
pop eax
mov ecx, dword [esp + 0x54]
mov ebx, dword [ebp + 4]
movsd xmm0, qword [ecx]
mov eax, dword [ecx + 8]
movzx edx, word [ecx + 0xc]
mov word [esp + 0x10], dx
mov dword [esp + 0xc], eax
movsd qword [esp + 4], xmm0
call fcn.00419028
mov dword [esp + 0x38], eax
lea eax, [esp + 4]
mov dword [esp + 0x14], 0x58e9fc
mov dword [esp + 0x18], 4
mov ecx, fcn.00417b33
and dword [esp + 0x24], 0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x98], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x9c], 0x4159a6
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x98]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x20], 3
push eax
push ebx
call fcn.00419087
pop ecx
pop edx
mov edx, esi
mov ecx, ebp
push 0x4350af
push edi
call fcn.00434500
pop eax
pop ecx
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x34], 0
jmp 0x4330a1
xor edx, edx
push 4
pop esi
jmp 0x4330a1
mov edi, dword [esp + 0x30]
mov ecx, esi
add edi, 8
call fcn.00473538
lea ebx, [esp + 0x204]
jmp 0x432ee4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x74]
mov byte [esp + 3], al
call fcn.00478cba
mov ecx, dword [esp + 0x50]
movzx eax, word [esp + 0x80]
shr eax, 0xf
test byte [esp + 0x2f], al
je 0x433113
mov edx, dword [ebp + 8]
lea esi, [esp + 0x98]
mov ecx, esi
call fcn.0041f5cb
mov ecx, esi
call fcn.0041fd67
mov ecx, ebp
lea eax, [esp + 3]
mov edx, esi
push eax
call fcn.00435177
pop eax
mov ecx, esi
call fcn.0041c279
mov ecx, dword [esp + 0x50]
test ecx, ecx
jne 0x433124
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x74]
call fcn.00478cba
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x78]
call fcn.00473538
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x7c]
call fcn.00473538
jmp 0x432575
mov esi, dword [esp + 0x98]
mov ebx, dword [esp + 0x9c]
jmp 0x433185
mov ecx, edi
mov edx, esi
push 0xb
push str.subcommands
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x4331b7
mov eax, dword [ebp + 8]
mov ecx, ebp
mov edx, dword [eax + 0x64]
push dword [eax + 0x6c]
call fcn.004339d1
jmp 0x432645
xor edi, edi
xor ebx, ebx
push 4
pop esi
mov ecx, ebp
mov edx, esi
push 0x4350af
jmp 0x4331f1
mov edi, dword [esp + 0x60]
test edi, edi
jne 0x432df9
mov al, 1
mov dword [esp + 0x34], eax
jmp 0x432ecb
mov esi, dword [esp + 0x98]
mov ebx, dword [esp + 0x9c]
jmp 0x4331e8
mov ecx, edi
mov edx, esi
push 3
push 0x58e94c
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x433207
mov ecx, dword [ebp + 4]
mov edx, 0x5ba128
push 2
call fcn.004fc225
jmp 0x432645
xor edi, edi
xor ebx, ebx
push 4
pop esi
mov ecx, ebp
mov edx, esi
push 0x4344dc
push edi
call fcn.00434500
pop eax
pop ecx
mov ecx, esi
mov edx, ebx
call fcn.00473538
jmp 0x43256e
mov ecx, edi
mov edx, esi
push 0xa
push 0x58e94f
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x433259
cmp byte [ebp + 0x15], 0
mov edi, dword [ebp + 8]
je 0x433306
mov ecx, dword [edi + 0xfc]
mov edx, dword [edi + 0x108]
lea eax, [edi + 0x108]
add edi, 0xfc
test ecx, ecx
cmove edi, ecx
test edx, edx
cmovne edi, eax
or edx, ecx
je 0x432575
jmp 0x433319
mov ecx, edi
mov edx, esi
push 0xb
push 0x58e959
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x4332ae
cmp byte [ebp + 0x15], 0
mov eax, dword [ebp + 8]
je 0x43336f
mov ecx, dword [eax + 0xf0]
mov edx, dword [eax + 0xe4]
mov esi, ecx
or esi, edx
je 0x432575
lea esi, [eax + 0xf0]
add eax, 0xe4
test edx, edx
cmove eax, edx
test ecx, ecx
cmovne eax, esi
mov edx, dword [eax]
jmp 0x433382
lea ecx, [esp + 0x90]
mov dword [esp + 0x98], 0x63ba2c
mov dword [esp + 0x9c], 2
mov eax, dword [ebp + 4]
and dword [esp + 0xa8], 0
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], fcn.00417b33
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0xa4], 1
push ecx
push eax
jmp 0x4326e9
cmp dword [edi + 0xfc], 0
je 0x432575
add edi, 0xfc
mov esi, dword [ebp + 4]
mov edx, 0x58dc83
mov ecx, esi
push 2
call fcn.004fc225
pop eax
mov edx, dword [edi]
lea ecx, [esp + 0x98]
push dword [edi + 8]
call fcn.00413c80
pop eax
lea ecx, [esp + 0x98]
call fcn.00435a3a
mov edi, dword [esp + 0x98]
mov ecx, esi
mov edx, edi
push dword [esp + 0xa0]
call fcn.0041962d
pop eax
mov edx, dword [esp + 0x9c]
mov ecx, edi
jmp 0x43284e
mov edx, dword [eax + 0xe4]
test edx, edx
je 0x432575
add eax, 0xe4
lea esi, [esp + 0x98]
mov ecx, esi
push dword [eax + 8]
call fcn.00413c80
pop eax
mov ecx, esi
call fcn.00435a3a
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x98]
mov edi, dword [ebp + 4]
mov edx, esi
mov ecx, edi
push dword [esp + 0xa0]
call fcn.0041962d
pop eax
mov ecx, edi
mov edx, 0x58dc83
push 2
call fcn.004fc225
pop eax
mov edx, dword [esp + 0x9c]
mov ecx, esi
call fcn.00448429
jmp 0x43256e
add esp, 0x254
pop esi
pop edi
pop ebx
pop ebp
ret