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

Disassembly:
sub esp, 0x13c
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x14c]
or dword [esp + 4], 0xffffffff
or dword [esp + 0x30], 0xffffffff
or dword [esp + 0x2c], 0xffffffff
push ebx
push ebp
push esi
mov esi, dword [esp + 0x154]
xor ebx, ebx
add esi, eax
push edi
mov edi, ecx
lea ecx, [esi - 1]
mov ebp, edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], ebp
test edx, 0xe20f5a6f
je 0x431e23
push 0xfffffffffffffffd
jmp 0x4326cf
test edi, edi
je 0x4326cd
test eax, eax
je 0x4326cd
mov ecx, dword [esp + 0x164]
cmp dword [esp + 0x160], ebx
jne 0x431e4b
test ecx, ecx
jg 0x4326cd
test ecx, ecx
jns 0x431e56
push 0xfffffffffffffff1
jmp 0x4326cf
movzx eax, word [edi + 0x18]
add eax, edi
cmp dword [edi + 0x20], 0
mov dword [esp + 0x70], eax
movzx eax, word [edi + 0x1c]
mov dword [esp + 0x68], eax
movzx eax, word [edi + 0x1a]
mov dword [esp + 0xe0], ebx
mov ebx, 0x9d5fa8
cmovne ebx, dword [edi + 0x20]
cmp dword [edi], 0x50435245
mov dword [esp + 0x6c], eax
mov eax, 0xf4240
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x10], ebx
je 0x431ecd
lea eax, [esp + 0x11c]
push eax
push 0
lea edx, [esp + 0xfc]
mov ecx, edi
call fcn.004149ca
mov ebp, eax
mov dword [esp + 0x18], ebp
test ebp, ebp
jne 0x431ec6
push 0xfffffffffffffffc
jmp 0x4326cf
mov edx, dword [esp + 0x15c]
mov ecx, dword [ebp + 8]
mov eax, ecx
or eax, edx
shr eax, 4
and eax, 1
mov dword [esp + 0x30], eax
movzx eax, word [ebp + 0xc]
shr eax, 3
and eax, 1
mov dword [esp + 0xec], eax
movzx eax, word [ebp + 0x1a]
shr ecx, 0x12
and ecx, 1
mov dword [esp + 0x38], ecx
movzx ecx, word [ebp + 0x1c]
imul ecx, eax
movzx eax, word [ebp + 0x18]
add ecx, edi
add eax, ecx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x150]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x154]
add eax, ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0xb0], ecx
mov eax, dword [ebp + 8]
shr eax, 5
xor edi, edi
inc edi
and eax, edi
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 8]
shr eax, 0xb
and eax, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 8]
shr eax, 0x1d
and eax, edi
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 8]
shr eax, 0x19
and eax, edi
mov dword [esp + 0x90], eax
mov eax, edx
shr eax, 7
and eax, edi
mov dword [esp + 0x84], eax
mov eax, edx
shr eax, 8
and eax, edi
mov dword [esp + 0x88], eax
mov eax, edx
shr eax, 0xa
and eax, edi
mov dword [esp + 0x9c], eax
mov eax, edx
shr eax, 0x1c
and eax, edi
mov dword [esp + 0xa0], eax
mov ecx, edx
shr ecx, 0xf
and ecx, edi
mov eax, edx
and eax, 0x8000000
push 2
pop edi
cmovne ecx, edi
xor edi, edi
lea eax, [ebx + 0x340]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0xa4], edi
mov dword [esp + 0xe4], edi
mov dword [esp + 0xdc], edi
mov dword [esp + 0x78], ebx
mov eax, edx
mov ecx, 0x1800000
and eax, ecx
je 0x43202a
cmp eax, 0x800000
je 0x43201e
cmp eax, 0x1000000
je 0x432042
push 0xffffffffffffffe9
jmp 0x4326cf
xor ebx, ebx
inc ebx
mov dword [esp + 0xa8], ebx
jmp 0x43204c
mov eax, dword [ebp + 8]
test ecx, eax
je 0x432042
xor ebx, ebx
shr eax, 0x17
inc ebx
and eax, ebx
mov dword [esp + 0xa8], eax
jmp 0x43204c
xor ebx, ebx
inc ebx
mov dword [esp + 0xa8], edi
mov ecx, 0x700000
test ecx, edx
jne 0x43205a
mov eax, dword [ebp + 8]
jmp 0x43205c
mov eax, edx
and eax, ecx
je 0x432086
cmp eax, 0x100000
je 0x4320ab
cmp eax, 0x200000
je 0x4320a7
cmp eax, 0x300000
je 0x4320a0
cmp eax, 0x400000
je 0x432086
cmp eax, 0x500000
jne 0x432017
push 2
pop ebx
mov dword [esp + 0x60], ebx
cmp dword [esp + 0xc4], edi
je 0x4320e1
test byte [ebp + 0xc], 1
je 0x4320e1
push 0xfffffffffffffff3
jmp 0x4326cf
mov ecx, 0xd0a
jmp 0x4320ae
push 0xa
jmp 0x4320ad
push 0xd
pop ecx
mov ebx, edi
mov dword [esp + 0x60], ebx
cmp ecx, 0xff
jle 0x4320d3
mov eax, ecx
sar eax, 8
mov dword [esp + 0x64], 2
mov byte [esp + 0x74], al
mov byte [esp + 0x75], cl
jmp 0x43208a
mov dword [esp + 0x64], 1
mov byte [esp + 0x74], cl
jmp 0x43208a
mov eax, dword [ebp + 8]
and eax, 7
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x164]
cdq
push 3
pop edi
idiv edi
movzx eax, word [ebp + 0x12]
mov edi, dword [esp + 0x164]
sub edi, edx
test ax, ax
je 0x43214b
mov ecx, eax
mov eax, edi
push 3
cdq
pop ebp
idiv ebp
cmp ecx, eax
jl 0x43214b
lea edi, [ecx + 1]
imul edi, edi, 3
mov ecx, edi
shl ecx, 2
call dword [0xa0f38c]
mov ebp, eax
mov dword [esp + 0x54], ebp
test ebp, ebp
jne 0x43213d
push 0xfffffffffffffffa
jmp 0x4326cf
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x28], 1
jmp 0x432156
mov ebp, dword [esp + 0x160]
mov dword [esp + 0x54], ebp
lea eax, [edi + edi]
cdq
push 3
pop ecx
idiv ecx
and dword [esp + 0x80], 0
or dword [esp + 0xcc], 0xffffffff
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], eax
movzx eax, word [ecx + 0x10]
lea eax, [eax*2 + 2]
cmp eax, dword [esp + 0x164]
cmovg eax, edi
mov dword [esp + 0xe8], eax
test ebp, ebp
je 0x4321ce
cdq
sub eax, edx
xor ecx, ecx
sar eax, 1
lea edi, [edi*4]
inc ecx
add edi, ebp
sub ecx, eax
lea eax, [edi + ecx*4]
sub edi, 4
cmp edi, eax
jb 0x4321ca
or dword [edi], 0xffffffff
sub edi, 4
cmp edi, eax
jae 0x4321b8
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x30], 0
jne 0x4321fe
test byte [ecx + 0xc], 2
je 0x4321fe
movzx eax, word [ecx + 0x14]
movzx edx, al
shr eax, 8
and eax, 1
mov dword [esp + 0x14], edx
mov dword [esp + 0x44], eax
je 0x4321fe
mov eax, dword [esp + 0x78]
movzx edx, byte [eax + edx]
mov dword [esp + 0x14], edx
test byte [ecx + 0xc], 4
je 0x432229
movzx eax, word [ecx + 0x16]
movzx ecx, al
shr eax, 8
and eax, 1
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
movzx eax, byte [eax + ecx + 0x100]
mov dword [esp + 0x3c], eax
and dword [esp + 0x15c], 0x4000000
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x10], edi
test ebp, ebp
je 0x43227c
mov eax, dword [esp + 0xe8]
lea ecx, [eax*4]
add ecx, ebp
cmp ebp, ecx
jae 0x43227c
sub ecx, ebp
dec ecx
shr ecx, 2
inc ecx
mov edi, ebp
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x54]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x38], 0
je 0x4322dc
mov edi, esi
cmp esi, edx
jae 0x4322dc
test ebx, ebx
je 0x4322b1
push dword [esp + 0x24]
lea eax, [esp + 0x68]
push eax
push edx
mov edx, ebx
mov ecx, edi
call fcn.0042ace2
mov ebx, dword [esp + 0x60]
test eax, eax
jne 0x4322d8
mov edx, dword [esp + 0xb4]
jmp 0x4322d3
mov ecx, dword [esp + 0x64]
mov eax, edx
sub eax, ecx
cmp edi, eax
ja 0x4322d3
mov al, byte [edi]
cmp al, byte [esp + 0x74]
jne 0x4322d3
cmp ecx, 1
je 0x4322d8
mov al, byte [edi + 1]
cmp al, byte [esp + 0x75]
je 0x4322d8
inc edi
cmp edi, edx
jb 0x432289
mov ebp, dword [esp + 0x54]
mov edx, dword [esp + 0x15c]
test edx, edx
jne 0x4323e2
mov ecx, dword [esp + 0x14]
test ecx, ecx
js 0x432335
cmp dword [esp + 0x44], edx
je 0x43232c
cmp esi, edi
jae 0x4323e2
mov ebx, ecx
movzx ecx, byte [esi]
mov eax, dword [esp + 0x78]
movzx eax, byte [ecx + eax]
cmp eax, ebx
je 0x4323e2
inc esi
cmp esi, edi
jb 0x432303
jmp 0x4323e2
movzx eax, byte [esi]
cmp eax, ecx
je 0x4323e2
inc esi
cmp esi, edi
jb 0x432320
jmp 0x4323e2
cmp dword [esp + 0xec], 0
je 0x4323e2
mov eax, dword [esp + 0xb0]
add eax, dword [esp + 0x158]
cmp esi, eax
jbe 0x4323e2
cmp esi, edi
jae 0x4323c8
test ebx, ebx
je 0x43238d
cmp esi, dword [esp + 0xb0]
jbe 0x4323b8
push dword [esp + 0x24]
lea eax, [esp + 0x68]
push eax
push dword [esp + 0xb8]
mov edx, ebx
mov ecx, esi
call fcn.0042ad7c
mov ebx, dword [esp + 0x60]
test eax, eax
jne 0x4323bd
jmp 0x4323b8
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x64]
add eax, ecx
cmp esi, eax
jb 0x4323b8
mov edx, esi
sub edx, ecx
mov al, byte [edx]
cmp al, byte [esp + 0x74]
jne 0x4323b8
cmp ecx, 1
je 0x4323bd
mov al, byte [edx + 1]
cmp al, byte [esp + 0x75]
je 0x4323bd
inc esi
cmp esi, edi
jb 0x43235d
mov edx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x54]
cmp byte [esi - 1], 0xd
jne 0x4323e2
cmp ebx, 1
je 0x4323d8
cmp ebx, 2
jne 0x4323e2
cmp esi, edi
jae 0x4323e2
cmp byte [esi], 0xa
jne 0x4323e2
inc esi
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1c], ebx
test edx, edx
jne 0x432463
cmp dword [esp + 0xc4], edx
jne 0x432463
mov edx, dword [esp + 0x40]
test edx, edx
js 0x432463
mov eax, ebx
sub eax, esi
cmp eax, 0x3e8
jge 0x432463
xor ecx, ecx
cmp dword [esp + 0x14], ecx
setge cl
add ecx, esi
cmp ecx, dword [esp + 0x34]
jbe 0x432463
cmp dword [esp + 0x2c], 0
je 0x432440
cmp ecx, ebx
jae 0x4325bb
mov edi, dword [esp + 0x3c]
movzx eax, byte [ecx]
inc ecx
cmp eax, edx
je 0x432456
cmp eax, edi
je 0x432456
cmp ecx, ebx
jb 0x43242e
jmp 0x432457
cmp ecx, ebx
jae 0x4325bb
movzx eax, byte [ecx]
inc ecx
cmp eax, edx
je 0x432456
cmp ecx, ebx
jb 0x432448
jmp 0x432457
dec ecx
cmp ecx, ebx
jae 0x4325bb
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0xac]
xor ebp, ebp
push ebp
push ebp
push ebp
push dword [esp + 0xfc]
lea eax, [esp + 0x58]
push eax
push 2
push ebp
push esi
mov ecx, esi
mov dword [esp + 0xd8], esi
mov dword [esp + 0xe0], esi
mov dword [esp + 0x68], ebp
call fcn.0042e9c7
mov edi, eax
cmp dword [esp + 0xa4], ebp
je 0x4324b5
mov eax, dword [esp + 0x20]
test eax, eax
cmove eax, dword [esp + 0xc0]
mov dword [esp + 0x20], eax
cmp edi, 0xfffffc1a
je 0x4325bf
cmp edi, 0xfffffc1b
je 0x4324f5
mov eax, 0xfffffc1c
cmp edi, eax
je 0x4324ea
jle 0x4325c1
cmp edi, 0xfffffc1e
jle 0x4324f5
test edi, edi
jne 0x4325c1
jmp 0x4324f5
mov ebp, dword [esp + 0xb8]
cmp ebp, esi
jne 0x4324f8
lea ebp, [esi + 1]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0xb4]
xor edi, edi
cmp dword [esp + 0x38], edi
je 0x432565
test ebx, ebx
je 0x43253b
cmp esi, edx
jae 0x432565
push dword [esp + 0x24]
lea eax, [esp + 0x68]
push eax
push edx
mov edx, ebx
mov ecx, esi
call fcn.0042ace2
test eax, eax
jne 0x432635
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0xb4]
jmp 0x432565
mov ecx, dword [esp + 0x64]
mov eax, edx
sub eax, ecx
cmp esi, eax
ja 0x432565
mov al, byte [esi]
cmp al, byte [esp + 0x74]
jne 0x432565
cmp ecx, 1
je 0x432635
mov al, byte [esi + 1]
cmp al, byte [esp + 0x75]
je 0x432635
mov esi, ebp
cmp dword [esp + 0x30], edi
jne 0x432635
mov eax, dword [esp + 0x10]
cmp ebp, eax
ja 0x432635
cmp byte [ebp - 1], 0xd
jne 0x4325ab
cmp ebp, eax
jae 0x4325ab
cmp byte [ebp], 0xa
jne 0x4325ab
mov eax, dword [esp + 0x18]
test byte [eax + 0xc], 0x20
jne 0x4325ab
cmp ebx, 1
je 0x4325a8
cmp ebx, 2
je 0x4325a8
cmp dword [esp + 0x64], 2
jne 0x4325ab
lea esi, [ebp + 1]
and dword [esp + 0xe4], edi
mov ebp, dword [esp + 0x54]
jmp 0x43223b
xor edi, edi
jmp 0x43263d
mov edi, ebp
xor esi, esi
inc esi
cmp edi, esi
je 0x4325d0
cmp edi, 0xfffffc19
jne 0x432639
mov ebx, dword [esp + 0x164]
cmp dword [esp + 0x28], ebp
je 0x432628
cmp ebx, 4
jl 0x432606
lea eax, [ebx*4 - 8]
push eax
mov eax, dword [esp + 0x58]
add eax, 8
push eax
mov eax, dword [esp + 0x168]
add eax, 8
push eax
call dword [0x9d14ec]
add esp, 0xc
mov eax, dword [esp + 0x80]
cmp dword [esp + 0xc8], ebx
mov ecx, dword [esp + 0x54]
cmovg eax, esi
mov dword [esp + 0x80], eax
call dword [0xa0f388]
cmp dword [esp + 0x80], ebp
je 0x43268e
mov eax, ebp
jmp 0x43269a
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x54]
cmp dword [esp + 0x28], 0
je 0x43264c
mov ecx, ebp
call dword [0xa0f388]
push 0xfffffffffffffff4
pop eax
test edi, edi
je 0x43265b
cmp edi, eax
je 0x43265b
mov eax, edi
jmp 0x4326d0
mov edx, dword [esp + 0x20]
test edx, edx
je 0x432689
cmp dword [esp + 0x164], 1
jle 0x4326d0
sub edx, dword [esp + 0x150]
mov ecx, dword [esp + 0x160]
sub ebx, dword [esp + 0x150]
mov dword [ecx], edx
mov dword [ecx + 4], ebx
jmp 0x4326d0
or eax, 0xffffffff
jmp 0x4326d0
mov eax, dword [esp + 0xc8]
cdq
sub eax, edx
sar eax, 1
cmp ebx, 2
jge 0x4326a3
mov eax, ebp
jmp 0x4326d0
mov ecx, dword [esp + 0xb8]
sub ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x160]
mov dword [edx], ecx
mov ecx, dword [esp + 0xbc]
sub ecx, dword [esp + 0xb0]
mov dword [edx + 4], ecx
jmp 0x4326d0
push 0xfffffffffffffffe
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x13c
ret 0x18