Function at 0x431f58
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.00431cc7
pop eax
pop ecx
and dword [esi + 0x1c], 0
mov ecx, esi
mov dword [esi + 0x20], edi
mov word [esi + 0x24], 1
call fcn.004330c2
test eax, eax
je 0x431fa8
mov ecx, dword [ebp + 4]
mov esi, edx
mov edx, eax
push esi
call fcn.00416208
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.004330c2
mov edi, eax
test eax, eax
je 0x4330b7
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.00431cc7
pop eax
pop ecx
lea ecx, [esp + 0x14]
mov edx, esi
call fcn.00431d05
cmp dword [esp + 0x14], 0
je 0x431fc8
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 0x5c0d87
call fcn.004153c1
pop ecx
pop edx
test al, al
mov dword [esp + 0x88], edi
je 0x432058
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x9c]
test edx, edx
jne 0x4320a2
mov edx, dword [eax + 0x20]
add eax, 0x24
jmp 0x4320a7
mov ecx, edi
mov edx, esi
push 3
push 0x58385e
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x432102
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0xa8]
test esi, esi
je 0x4321e3
mov ebx, dword [edi + 0xb0]
push 0x20
pop ecx
mov edx, esi
cmp ebx, 8
jae 0x4321bd
push ebx
call fcn.004334bc
jmp 0x4321c3
add eax, 0xa4
lea ecx, [esp + 0x98]
push dword [eax]
call fcn.0043312f
pop eax
mov esi, dword [esp + 0xa0]
mov ebp, dword [esp + 0x98]
mov ecx, esi
call fcn.004fa895
mov ebx, eax
mov edi, edx
push esi
push ebp
push eax
call fcn.005669c0
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.004499b4
mov ebp, dword [esp + 0x5c]
jmp 0x43223d
mov ecx, edi
mov edx, esi
push 7
push 0x6291e0
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x432196
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 0x432250
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.004fa895
mov edi, eax
mov dword [esp + 0x4c], edx
push ebx
push esi
push eax
call fcn.005669c0
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.0042108a
jmp 0x432250
mov ecx, edi
mov edx, esi
push 6
push 0x583861
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x432278
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
push 0
jmp 0x432296
push ebx
call fcn.00440420
pop ecx
cmp eax, 1
jne 0x4321e3
lea ecx, [esp + 0x14]
mov edx, esi
push 1
push 0x625ffd
push 0x20
push ebx
call fcn.004334e0
add esp, 0x10
jmp 0x43223d
mov edx, dword [edi + 0x20]
lea ecx, [esp + 0x98]
push dword [edi + 0x24]
call fcn.0043312f
pop eax
mov esi, dword [esp + 0xa0]
mov ebp, dword [esp + 0x98]
mov ecx, esi
call fcn.004fa895
mov edi, eax
mov ebx, edx
push esi
push ebp
mov ebp, dword [esp + 0x64]
push eax
call fcn.005669c0
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.004499b4
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x14]
call fcn.0042108a
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.00416208
pop eax
jmp 0x431fc8
mov ecx, edi
mov edx, esi
push 0x13
push 0x583867
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x4322a1
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
push 1
push 0
call fcn.00433583
pop eax
pop ecx
jmp 0x432250
mov ecx, edi
mov edx, esi
push 0xe
push 0x58387a
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x4322c4
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
xor eax, eax
inc eax
push eax
push eax
jmp 0x432298
mov ecx, edi
mov edx, esi
push 5
push 0x583888
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x4322e2
mov ecx, ebp
xor edx, edx
push 0
jmp 0x43231b
mov ecx, edi
mov edx, esi
push 0x12
push 0x58388d
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x4322fe
mov ecx, ebp
xor edx, edx
jmp 0x432319
mov ecx, edi
mov edx, esi
push 0xd
push 0x58389f
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x432326
xor edx, edx
mov ecx, ebp
inc edx
push 1
call fcn.00433603
pop eax
jmp 0x432250
mov ecx, edi
mov edx, esi
push 0xd
push 0x5838ac
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x4323d0
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.0041905e
mov dword [esp + 0x38], eax
lea eax, [esp + 4]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x98], 0x5838f8
mov dword [esp + 0x14], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x18], 0x415a05
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], fcn.00417b94
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.004190bd
pop ecx
pop edx
jmp 0x432250
mov ecx, edi
mov edx, esi
push 5
push 0x5838b9
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x43244a
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.0041df03
pop eax
pop ecx
mov ecx, esi
call fcn.0041e428
mov esi, dword [esp + 0x98]
test esi, esi
je 0x432510
mov edi, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
jmp 0x432518
mov ecx, edi
mov edx, esi
push 8
push 0x5838be
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x432533
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.00423e8f
test eax, eax
je 0x4326c7
mov esi, eax
call fcn.00423c6e
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.00423e8f
test eax, eax
je 0x4325ec
cmp edi, dword [esp + 0x18]
mov esi, eax
jne 0x432506
lea ecx, [esp + 0x14]
call fcn.00423c8b
mov ebx, dword [esp + 0x14]
mov dword [ebx + edi*4], esi
inc edi
mov dword [esp + 0x1c], edi
jmp 0x4324dd
mov ecx, esi
mov eax, esi
mov esi, edi
mov edi, ecx
mov ecx, dword [esp + 0x30]
mov edx, esi
push eax
call fcn.00419663
pop eax
mov ecx, esi
mov edx, edi
call fcn.004499b4
jmp 0x432250
mov ecx, edi
mov edx, esi
push 7
push 0x5838c6
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x43260e
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.0042166f
test eax, eax
je 0x432e59
mov ebx, eax
call fcn.00423c6e
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.0042166f
test eax, eax
je 0x432e1e
cmp edi, dword [esp + 0x9c]
mov ebx, eax
jne 0x4325df
lea ecx, [esp + 0x98]
call fcn.00423c8b
mov esi, dword [esp + 0x98]
mov dword [esi + edi*4], ebx
inc edi
mov dword [esp + 0xa0], edi
jmp 0x4325b0
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 0x4326e2
mov ecx, edi
mov edx, esi
push 0xb
push 0x5838cd
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x432e2e
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.00421634
test eax, eax
je 0x432ebc
mov ebx, eax
call fcn.00423c6e
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.00421634
test eax, eax
je 0x432e82
cmp edi, dword [esp + 0x9c]
mov ebx, eax
jne 0x4326ba
lea ecx, [esp + 0x98]
call fcn.00423c8b
mov esi, dword [esp + 0x98]
mov dword [esi + edi*4], ebx
inc edi
mov dword [esp + 0xa0], edi
jmp 0x43268b
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.00423f2b
test eax, eax
je 0x432792
mov esi, eax
call fcn.00423c6e
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.00423f2b
test eax, eax
je 0x432776
cmp edi, dword [esp + 0x18]
mov esi, eax
jne 0x43276c
lea ecx, [esp + 0x14]
call fcn.00423c8b
mov ebx, dword [esp + 0x14]
mov dword [ebx + edi*4], esi
inc edi
mov dword [esp + 0x1c], edi
jmp 0x432747
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 0x4327a9
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.0041f20f
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 0x4328a1
lea edi, [ecx + 0x11c]
call fcn.00423ef5
test eax, eax
mov ecx, edi
je 0x432802
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 0x432862
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.004d1a1f
mov ecx, dword [esp + 0x3c]
add esp, 8
add ebx, 0xfffffff8
test al, al
mov eax, dword [esp + 0x4c]
je 0x43282d
lea ebx, [esp + 0x204]
jmp 0x432800
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x9c]
jne 0x432889
lea ecx, [esp + 0x98]
call fcn.00425e70
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 0x4327e6
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 0x4329e2
mov cl, byte [esp + 0x2f]
xor cl, 1
jne 0x4329e2
mov byte [esp + 3], 0
mov edx, 0x583980
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.0041905e
mov dword [esp + 0x38], eax
lea eax, [esp + 4]
mov dword [esp + 0x14], 0x583988
mov dword [esp + 0x18], 4
mov ecx, fcn.00417b94
and dword [esp + 0x24], 0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x98], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x9c], 0x415a05
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.004190bd
pop ecx
pop edx
mov eax, dword [ebp + 8]
mov ecx, ebp
mov edx, dword [eax + 0x64]
push dword [eax + 0x6c]
call fcn.004336ac
pop eax
mov edi, dword [esp + 0x64]
test edi, edi
je 0x432ab8
mov ecx, dword [ebp + 4]
mov edx, 0x582c0f
push 2
call fcn.00416208
pop eax
jmp 0x4329ee
mov edi, dword [esp + 0x64]
test edi, edi
je 0x432e6b
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.0041905e
mov dword [esp + 0x38], eax
lea eax, [esp + 4]
mov dword [esp + 0x14], 0x583988
mov dword [esp + 0x18], 4
mov ecx, fcn.00417b94
and dword [esp + 0x24], 0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x98], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x9c], 0x415a05
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.004190bd
pop ecx
pop edx
mov edx, dword [esp + 0x6c]
mov ecx, ebp
push 0x4341a5
push edi
call fcn.004341c9
pop eax
pop ecx
mov edi, dword [esp + 0x60]
test edi, edi
je 0x432b9e
mov ecx, dword [ebp + 4]
mov edx, 0x582c0f
push 2
call fcn.00416208
pop eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x40], 0x5839b1
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.0041905e
mov dword [esp + 0x38], eax
lea eax, [esp + 4]
mov dword [esp + 0x14], 0x583988
mov dword [esp + 0x18], 4
mov ecx, fcn.00417b94
and dword [esp + 0x24], 0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x98], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x9c], 0x415a05
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.004190bd
pop ecx
pop edx
mov edx, dword [esp + 0x68]
mov ecx, ebp
push 0x434d68
push edi
call fcn.004341c9
pop eax
pop ecx
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x432dab
mov eax, dword [esp + 0x48]
lea ecx, [eax + ecx*8]
mov edi, eax
mov dword [esp + 0x4c], ecx
cmp edi, dword [esp + 0x4c]
je 0x432d92
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.00424225
test eax, eax
je 0x432d71
mov ebx, eax
mov dword [esp + 0x30], edi
call fcn.00423c6e
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.00424225
test eax, eax
je 0x432c81
cmp edi, dword [esp + 8]
mov ebx, eax
jne 0x432c77
lea ecx, [esp + 4]
call fcn.00423c8b
mov esi, dword [esp + 4]
mov dword [esi + edi*4], ebx
inc edi
mov dword [esp + 0xc], edi
jmp 0x432c52
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
test edi, edi
je 0x432d78
cmp byte [esp + 0x34], 0
mov dword [esp + 0x58], edx
jne 0x432cac
mov ecx, dword [ebp + 4]
mov edx, 0x582c0f
push 2
call fcn.00416208
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.0041905e
mov dword [esp + 0x38], eax
lea eax, [esp + 4]
mov dword [esp + 0x14], 0x583988
mov dword [esp + 0x18], 4
mov ecx, fcn.00417b94
and dword [esp + 0x24], 0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x98], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x9c], 0x415a05
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.004190bd
pop ecx
pop edx
mov edx, esi
mov ecx, ebp
push 0x434d68
push edi
call fcn.004341c9
pop eax
pop ecx
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x34], 0
jmp 0x432d7c
xor edx, edx
push 4
pop esi
jmp 0x432d7c
mov edi, dword [esp + 0x30]
mov ecx, esi
add edi, 8
call fcn.00421312
lea ebx, [esp + 0x204]
jmp 0x432bbf
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x74]
mov byte [esp + 3], al
call fcn.0041872c
mov ecx, dword [esp + 0x50]
movzx eax, word [esp + 0x80]
shr eax, 0xf
test byte [esp + 0x2f], al
je 0x432dee
mov edx, dword [ebp + 8]
lea esi, [esp + 0x98]
mov ecx, esi
call fcn.0041f27b
mov ecx, esi
call fcn.0041fa17
mov ecx, ebp
lea eax, [esp + 3]
mov edx, esi
push eax
call fcn.00434e30
pop eax
mov ecx, esi
call fcn.0041c1de
mov ecx, dword [esp + 0x50]
test ecx, ecx
jne 0x432dff
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x74]
call fcn.0041872c
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x78]
call fcn.00421312
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x7c]
call fcn.00421312
jmp 0x432250
mov esi, dword [esp + 0x98]
mov ebx, dword [esp + 0x9c]
jmp 0x432e60
mov ecx, edi
mov edx, esi
push 0xb
push str.subcommands
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x432e92
mov eax, dword [ebp + 8]
mov ecx, ebp
mov edx, dword [eax + 0x64]
push dword [eax + 0x6c]
call fcn.004336ac
jmp 0x432320
xor edi, edi
xor ebx, ebx
push 4
pop esi
mov ecx, ebp
mov edx, esi
push 0x434d68
jmp 0x432ecc
mov edi, dword [esp + 0x60]
test edi, edi
jne 0x432ad4
mov al, 1
mov dword [esp + 0x34], eax
jmp 0x432ba6
mov esi, dword [esp + 0x98]
mov ebx, dword [esp + 0x9c]
jmp 0x432ec3
mov ecx, edi
mov edx, esi
push 3
push 0x5838d8
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x432ee2
mov ecx, dword [ebp + 4]
mov edx, 0x5ac2c8
push 2
call fcn.00416208
jmp 0x432320
xor edi, edi
xor ebx, ebx
push 4
pop esi
mov ecx, ebp
mov edx, esi
push 0x4341a5
push edi
call fcn.004341c9
pop eax
pop ecx
mov ecx, esi
mov edx, ebx
call fcn.00421312
jmp 0x432249
mov ecx, edi
mov edx, esi
push 0xa
push 0x5838db
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x432f34
cmp byte [ebp + 0x15], 0
mov edi, dword [ebp + 8]
je 0x432fe1
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 0x432250
jmp 0x432ff4
mov ecx, edi
mov edx, esi
push 0xb
push 0x5838e5
call fcn.004153c1
pop ecx
pop edx
test al, al
je 0x432f89
cmp byte [ebp + 0x15], 0
mov eax, dword [ebp + 8]
je 0x43304a
mov ecx, dword [eax + 0xf0]
mov edx, dword [eax + 0xe4]
mov esi, ecx
or esi, edx
je 0x432250
lea esi, [eax + 0xf0]
add eax, 0xe4
test edx, edx
cmove eax, edx
test ecx, ecx
cmovne eax, esi
mov edx, dword [eax]
jmp 0x43305d
lea ecx, [esp + 0x90]
mov dword [esp + 0x98], 0x62cc54
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.00417b94
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0xa4], 1
push ecx
push eax
jmp 0x4323c4
cmp dword [edi + 0xfc], 0
je 0x432250
add edi, 0xfc
mov esi, dword [ebp + 4]
mov edx, 0x582c0f
mov ecx, esi
push 2
call fcn.00416208
pop eax
mov edx, dword [edi]
lea ecx, [esp + 0x98]
push dword [edi + 8]
call fcn.00413d10
pop eax
lea ecx, [esp + 0x98]
call fcn.004356f3
mov edi, dword [esp + 0x98]
mov ecx, esi
mov edx, edi
push dword [esp + 0xa0]
call fcn.00419663
pop eax
mov edx, dword [esp + 0x9c]
mov ecx, edi
jmp 0x432529
mov edx, dword [eax + 0xe4]
test edx, edx
je 0x432250
add eax, 0xe4
lea esi, [esp + 0x98]
mov ecx, esi
push dword [eax + 8]
call fcn.00413d10
pop eax
mov ecx, esi
call fcn.004356f3
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.00419663
pop eax
mov ecx, edi
mov edx, 0x582c0f
push 2
call fcn.00416208
pop eax
mov edx, dword [esp + 0x9c]
mov ecx, esi
call fcn.004499b4
jmp 0x432249
add esp, 0x254
pop esi
pop edi
pop ebx
pop ebp
ret