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

Disassembly:
mov eax, 0x2078
call fcn.0045f980
mov eax, dword [0x470d10]
xor eax, esp
mov dword [esp + 0x2074], eax
mov eax, dword [esp + 0x2080]
push ebx
mov ebx, dword [esp + 0x2080]
shr eax, 0xb
push ebp
not eax
mov edx, dword [ebx + 4]
and eax, 1
mov dword [esp + 0x2088], eax
push esi
mov esi, dword [ebx]
push edi
test edx, edx
jne 0x43295b
cmp esi, 0x16
jb 0x432fbd
mov ebp, esi
mov ecx, edx
sub ebp, 0x1000
sbb ecx, 0
mov dword [esp + 0x10], ecx
js 0x432974
jg 0x432990
test ebp, ebp
jne 0x432990
xorps xmm0, xmm0
movlpd qword [esp + 0x1c], xmm0
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
nop dword [eax]
mov eax, esi
sub eax, ebp
sbb edx, ecx
test edx, edx
jb 0x4329aa
ja 0x4329a3
cmp eax, 0x1000
jbe 0x4329aa
mov esi, 0x1000
jmp 0x4329ac
sub esi, ebp
push esi
lea eax, [esp + 0x1088]
push eax
mov eax, dword [ebx + 0x38]
push ecx
push ebp
push dword [ebx + 0x44]
call eax
add esp, 0x14
cmp eax, esi
jne 0x432fc6
add esi, 0xfffffffc
js 0x432a0d
nop
cmp dword [esp + esi + 0x1084], 0x6054b50
jne 0x432a02
mov edi, dword [ebx]
mov eax, esi
mov ecx, dword [ebx + 4]
sub edi, ebp
cdq
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
sbb ecx, eax
sub edi, dword [esp + 0x14]
sbb ecx, edx
test ecx, ecx
ja 0x432a09
jb 0x432a02
cmp edi, 0x16
jae 0x432a09
sub esi, 1
jns 0x4329d0
jmp 0x432a0d
test esi, esi
jns 0x432a49
mov ecx, dword [esp + 0x10]
mov eax, ebp
or eax, ecx
je 0x432fc6
mov esi, dword [ebx]
mov edi, esi
mov edx, dword [ebx + 4]
sub edi, ebp
mov eax, edx
sbb eax, ecx
test eax, eax
ja 0x432fc6
jb 0x432a3e
cmp edi, 0x10015
jae 0x432fc6
sub ebp, 0xffd
jmp 0x432965
mov esi, dword [esp + 0x14]
add esi, ebp
push 0x16
adc edx, eax
lea eax, [esp + 0x88]
push eax
mov eax, dword [ebx + 0x38]
push edx
push esi
push dword [ebx + 0x44]
mov dword [esp + 0x30], edx
call eax
add esp, 0x14
cmp eax, 0x16
jne 0x432f86
cmp dword [esp + 0x84], 0x6054b50
jne 0x432fbd
mov eax, dword [esp + 0x1c]
test eax, eax
jl 0x432b16
jg 0x432a99
cmp esi, 0x4c
jb 0x432b16
push 0x14
add esi, 0xffffffec
lea ecx, [esp + 0x3c]
push ecx
adc eax, 0xffffffff
push eax
mov eax, dword [ebx + 0x38]
push esi
push dword [ebx + 0x44]
call eax
add esp, 0x14
cmp eax, 0x14
jne 0x432b16
cmp dword [esp + 0x38], 0x7064b50
jne 0x432b16
mov esi, dword [ebx]
xor ecx, ecx
or ecx, dword [esp + 0x40]
add esi, 0xffffffc8
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x44]
adc eax, 0xffffffff
cmp edx, eax
ja 0x432fbd
jb 0x432ae9
cmp ecx, esi
ja 0x432fbd
push 0x38
lea eax, [esp + 0x50]
push eax
mov eax, dword [ebx + 0x38]
push edx
push ecx
push dword [ebx + 0x44]
call eax
add esp, 0x14
cmp eax, 0x38
jne 0x432b16
cmp dword [esp + 0x4c], 0x6064b50
jne 0x432b16
mov eax, dword [ebx + 0x48]
mov dword [eax + 0x34], 1
mov esi, dword [ebx + 0x48]
movzx eax, word [esp + 0x88]
movzx ecx, word [esp + 0x8e]
mov ebp, dword [esp + 0x90]
movzx edx, word [esp + 0x8c]
movzx edi, word [esp + 0x8a]
mov dword [ebx + 0x10], ecx
cmp dword [esi + 0x34], 0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], 0
je 0x432c1c
mov eax, dword [esp + 0x68]
xor edi, edi
or edi, dword [esp + 0x74]
xor ecx, ecx
or ecx, dword [esp + 0x6c]
xor edx, edx
or edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], edi
xor edi, edi
or edi, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x54]
or eax, 0
ja 0x432baa
cmp edi, 0x2c
jb 0x432fa2
cmp dword [esp + 0x48], 1
jne 0x432fb4
test ebp, ebp
ja 0x432ddc
jb 0x432bc8
cmp ecx, 0xffffffff
ja 0x432ddc
cmp dword [esp + 0x1c], 0
mov dword [ebx + 0x10], ecx
ja 0x432ddc
jb 0x432be1
cmp edx, 0xffffffff
ja 0x432ddc
cmp dword [esp + 0x14], 0
ja 0x432dd0
cmp dword [esp + 0x10], 0xffffffff
ja 0x432dd0
mov eax, dword [esp + 0x5c]
mov ebp, dword [esp + 0x80]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x14], eax
xor eax, eax
or eax, dword [esp + 0x7c]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x30], eax
cmp ecx, edx
jne 0x432fb4
mov edx, dword [esp + 0x14]
mov eax, edi
or eax, edx
je 0x432c3f
cmp edx, 1
jne 0x432fb4
cmp edi, edx
jne 0x432fb4
imul eax, ecx, 0x2e
cmp ebp, eax
jb 0x432fa2
mov edi, dword [esp + 0x30]
xor eax, eax
mov edx, ebp
add edx, edi
adc eax, dword [esp + 0x18]
cmp eax, dword [ebx + 4]
ja 0x432fa2
jb 0x432c6b
cmp edx, dword [ebx]
ja 0x432fa2
mov eax, dword [esp + 0x18]
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], eax
test ecx, ecx
je 0x432f62
cmp ebp, dword [esi + 8]
jbe 0x432ca0
mov eax, dword [ebx + 0x30]
push ebp
push dword [esi + 0xc]
push dword [esi]
push dword [ebx + 0x34]
call eax
add esp, 0x10
test eax, eax
je 0x432f8f
mov dword [esi], eax
mov dword [esi + 8], ebp
mov dword [esi + 4], ebp
mov esi, dword [ebx + 0x48]
mov edi, dword [ebx + 0x10]
cmp edi, dword [esi + 0x18]
jbe 0x432cce
mov eax, dword [ebx + 0x30]
push edi
push dword [esi + 0x1c]
push dword [esi + 0x10]
push dword [ebx + 0x34]
call eax
add esp, 0x10
test eax, eax
je 0x432f8f
mov dword [esi + 0x10], eax
mov dword [esi + 0x18], edi
cmp dword [esp + 0x2090], 0
mov dword [esi + 0x14], edi
je 0x432d09
mov esi, dword [ebx + 0x48]
mov edi, dword [ebx + 0x10]
cmp edi, dword [esi + 0x28]
jbe 0x432d06
mov eax, dword [ebx + 0x30]
push edi
push dword [esi + 0x2c]
push dword [esi + 0x20]
push dword [ebx + 0x34]
call eax
add esp, 0x10
test eax, eax
je 0x432f8f
mov dword [esi + 0x20], eax
mov dword [esi + 0x28], edi
mov dword [esi + 0x24], edi
mov eax, dword [ebx + 0x48]
push ebp
push dword [eax]
mov eax, dword [ebx + 0x38]
push dword [esp + 0x20]
push dword [esp + 0x3c]
push dword [ebx + 0x44]
call eax
add esp, 0x14
cmp eax, ebp
jne 0x432f86
mov eax, dword [ebx + 0x48]
xor esi, esi
mov dword [esp + 0x2c], esi
mov edi, dword [eax]
cmp dword [ebx + 0x10], esi
jbe 0x432f62
nop
cmp ebp, 0x2e
jb 0x432fa2
cmp dword [edi], 0x2014b50
jne 0x432fa2
mov eax, dword [ebx + 0x48]
mov ecx, edi
sub ecx, dword [eax]
cmp dword [esp + 0x2090], 0
mov eax, dword [eax + 0x10]
mov dword [eax + esi*4], ecx
je 0x432d75
mov eax, dword [ebx + 0x48]
mov eax, dword [eax + 0x20]
mov dword [eax + esi*4], esi
mov eax, dword [edi + 0x14]
xor ebp, ebp
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x2a]
mov dword [esp + 0x28], eax
movzx eax, word [edi + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x24], ecx
cmp dword [eax + 0x38], ebp
jne 0x432ea8
movzx esi, word [edi + 0x1e]
test esi, esi
je 0x432ea4
mov eax, dword [esp + 0x28]
cmp eax, ecx
jbe 0x432db2
mov ecx, eax
xor eax, eax
cmp eax, ebp
jb 0x432dea
ja 0x432dbe
cmp ecx, edx
jbe 0x432dea
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov eax, dword [esp + 0x28]
cmp eax, edx
jbe 0x432de8
mov edx, eax
jmp 0x432dea
mov dword [ebx + 0x1c], 0xf
jmp 0x432fcd
mov dword [ebx + 0x1c], 2
jmp 0x432fcd
xor ebp, ebp
cmp edx, 0xffffffff
jne 0x432ea0
test ebp, ebp
jne 0x432ea0
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x2e]
add eax, esi
cmp eax, dword [esp + 0x10]
jbe 0x432e4d
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x432f8f
mov eax, dword [esp + 0x1c]
xor ecx, ecx
add eax, dword [esp + 0x30]
push esi
adc ecx, dword [esp + 0x1c]
add eax, 0x2e
push ebp
adc ecx, 0
push ecx
push eax
push dword [ebx + 0x44]
mov eax, dword [ebx + 0x38]
call eax
add esp, 0x14
cmp eax, esi
jne 0x432f7c
mov ecx, ebp
jmp 0x432e52
add ecx, 0x2e
add ecx, edi
cmp esi, 4
jb 0x432f98
movzx edx, word [ecx + 2]
lea eax, [edx + 4]
cmp eax, esi
ja 0x432f98
cmp word [ecx], 1
je 0x432e82
add ecx, 4
mov eax, 0xfffffffc
sub eax, edx
add ecx, edx
add esi, eax
jne 0x432e52
jmp 0x432e96
mov eax, dword [ebx + 0x48]
mov dword [eax + 0x34], 1
mov eax, dword [ebx + 0x48]
mov dword [eax + 0x38], 1
push ebp
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
cmp edx, 0xffffffff
jne 0x432eb5
xor ebp, ebp
jmp 0x432edd
xor ebp, ebp
cmp ecx, 0xffffffff
jne 0x432ec0
xor eax, eax
jmp 0x432edd
xor eax, eax
cmp dword [edi + 0xa], eax
jne 0x432ecf
cmp ecx, edx
jne 0x432fa2
or ecx, eax
je 0x432edd
mov eax, edx
or eax, ebp
je 0x432fa2
movzx eax, word [edi + 0x22]
cmp eax, 0xffff
je 0x432fb4
cmp eax, dword [esp + 0x14]
je 0x432efb
cmp eax, 1
jne 0x432fb4
cmp edx, 0xffffffff
jne 0x432f04
test ebp, ebp
je 0x432f26
mov ecx, dword [edi + 0x2a]
xor eax, eax
add ecx, edx
adc eax, ebp
add ecx, 0x1e
adc eax, 0
cmp eax, dword [ebx + 4]
ja 0x432fa2
jb 0x432f26
cmp ecx, dword [ebx]
ja 0x432fa2
mov eax, 0x2000
test word [edi + 8], ax
jne 0x432fab
movzx eax, word [edi + 0x1e]
movzx ecx, word [edi + 0x20]
mov ebp, dword [esp + 0x10]
add ecx, eax
movzx eax, word [edi + 0x1c]
add eax, 0x2e
add eax, ecx
cmp eax, ebp
ja 0x432fa2
inc esi
sub ebp, eax
add edi, eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x2c], esi
cmp esi, dword [ebx + 0x10]
jb 0x432d40
cmp dword [esp + 0x2090], 0
je 0x432f75
push ebx
call fcn.00432ff0
add esp, 4
mov eax, 1
jmp 0x432fcf
push ebp
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [ebx + 0x1c], 0x14
jmp 0x432fcd
mov dword [ebx + 0x1c], 0x10
jmp 0x432fcd
push ebp
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [ebx + 0x1c], 9
jmp 0x432fcd
mov dword [ebx + 0x1c], 5
jmp 0x432fcd
mov dword [ebx + 0x1c], 0xa
jmp 0x432fcd
mov dword [ebx + 0x1c], 8
jmp 0x432fcd
mov dword [ebx + 0x1c], 7
xor eax, eax
mov ecx, dword [esp + 0x2084]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0045f441
add esp, 0x2078
ret