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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov ebx, dword [ecx + 0x10]
push esi
push edi
mov dword [esp + 0x20], ecx
mov eax, dword [ebx + 0x94]
mov edi, dword [ebx + 0x98]
mov dword [esp + 0x10], 0
cmp eax, edi
jbe 0x431f3a
xor edx, edx
or byte [ebx + 0x14], 4
div edi
mov ecx, dword [ecx + 0x14]
xor esi, esi
mov edi, eax
mov dword [esp + 0x14], esi
lea eax, [ecx - 1]
lea edx, [edi - 1]
not edx
and edx, eax
inc edx
mov dword [esp + 0x24], edx
cmp ecx, dword [ebx + 0x18]
jbe 0x431d5f
sub ecx, edx
inc ecx
mov dword [esp + 0xc], ecx
jmp 0x431d7a
mov ecx, dword [ebx + 0x18]
lea eax, [edi - 1]
add eax, edx
cmp eax, ecx
jbe 0x431d74
sub ecx, edx
inc ecx
mov dword [esp + 0xc], ecx
jmp 0x431d7a
mov ecx, edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x1c], esi
test ecx, ecx
jle 0x431f2b
mov edi, edx
nop dword [eax + eax]
cmp dword [esp + 0x10], 0
jne 0x431f2b
mov eax, dword [esp + 0x20]
cmp edi, dword [eax + 0x14]
je 0x431df8
mov ecx, dword [ebx + 0x38]
mov edx, edi
call fcn.0042bc70
test eax, eax
je 0x431df4
mov ecx, dword [ebx + 0xcc]
lea eax, [esp + 0x18]
push eax
push 0
mov edx, edi
mov dword [esp + 0x20], 0
call fcn.0042c2b0
mov ecx, dword [esp + 0x20]
add esp, 8
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x431e54
test byte [ecx + 0x18], 4
mov eax, 1
cmovne esi, eax
mov dword [esp + 0x14], esi
call fcn.004318d0
jmp 0x431e54
mov ecx, dword [esp + 0xc]
mov eax, dword [0x56ed74]
cdq
idiv dword [ebx + 0x98]
inc eax
cmp edi, eax
je 0x431e58
lea eax, [esp + 0x18]
mov edx, edi
push 0
push eax
mov ecx, ebx
call fcn.00431540
mov ecx, eax
add esp, 8
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x431e54
mov esi, dword [esp + 0x18]
mov ecx, esi
call fcn.00431b30
test byte [esi + 0x18], 4
mov ecx, 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
cmovne eax, ecx
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.004318d0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
inc edi
inc eax
mov dword [esp + 0x1c], eax
cmp eax, ecx
jl 0x431d90
cmp dword [esp + 0x10], 0
jne 0x431f2b
test esi, esi
je 0x431f2b
xor esi, esi
mov dword [esp + 0x18], esi
nop dword [eax]
nop word [eax + eax]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x1c]
mov ecx, dword [ebx + 0xcc]
push eax
push 0
lea edx, [esi + edx]
mov dword [esp + 0x24], 0
call fcn.0042c2b0
mov ecx, dword [esp + 0x24]
add esp, 8
test ecx, ecx
je 0x431f1c
or word [ecx + 0x18], 4
test byte [ecx + 0x18], 0x40
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x20], edx
je 0x431f0e
dec dword [edx + 0x78]
mov eax, dword [edx + 0x88]
mov dword [ecx + 0xc], eax
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x98]
mov dword [edx + 0x88], ecx
push dword [ecx + 4]
mov ecx, dword [ecx + 0x14]
mov edi, dword [esi]
dec ecx
cdq
push edx
push eax
push 0
push ecx
call fcn.0051f180
push edx
push eax
mov eax, dword [edi + 0x48]
push esi
call eax
mov esi, dword [esp + 0x28]
add esp, 0x10
jmp 0x431f13
call fcn.0042c440
mov ecx, dword [esp + 0x20]
call fcn.00431510
inc esi
mov dword [esp + 0x18], esi
cmp esi, dword [esp + 0xc]
jl 0x431e90
and byte [ebx + 0x14], 0xfb
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00431b30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret