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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x431ae0
sub esp, 0x84
mov ebx, dword fs:[0x14]
mov ebx, dword [ebx]
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x80]
mov ebp, dword [ebx + 0x18]
mov ebx, dword [ebp + 0x54]
mov dword [esp + 0x7c], ebx
mov ebx, dword [0x6cad74]
cmp ebx, 0
je 0x431297
call fcn.00430fa0
jmp 0x431274
mov ebx, dword [esp + 0x7c]
mov ebp, dword [ebx + 0x944]
cmp ebp, 0
je 0x4312ab
call fcn.0042fe00
cmp byte [0x6dbc67], 0
je 0x4312e0
cmp byte [0x6dbc68], 0
je 0x4312e0
call fcn.00414e00
mov eax, dword [esp]
xor ebp, ebp
cmp eax, ebp
je 0x4312e0
mov dword [esp], eax
mov dword [esp + 4], 0
mov byte [esp + 8], 1
call fcn.0042e330
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
call fcn.004375d0
mov eax, dword [esp + 4]
movzx ebx, byte [esp + 8]
xor ebp, ebp
cmp eax, ebp
je 0x431310
mov dword [esp + 0x88], eax
mov byte [esp + 0x8c], bl
add esp, 0x84
ret
mov ebx, dword [0x6cad40]
cmp ebx, 0
je 0x431379
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x10
call fcn.0040dde0
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.00436f00
mov ebx, dword [esp + 8]
mov dword [esp + 0x6c], ebx
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x10
call fcn.0040e020
mov eax, dword [esp + 0x6c]
xor ebp, ebp
cmp eax, ebp
je 0x431379
mov dword [esp + 0x88], eax
mov byte [esp + 0x8c], 0
add esp, 0x84
ret
call fcn.004264e0
movzx ebx, byte [esp]
cmp bl, 0
je 0x431adb
mov edx, dword [0x6cad08]
mov eax, dword [0x6cad0c]
cmp eax, 0
jne 0x4313a5
cmp edx, 0
je 0x431adb
mov byte [esp], 0
call fcn.00427a00
mov eax, dword [esp + 4]
xor ebp, ebp
cmp eax, ebp
je 0x43141d
mov dword [esp + 0x70], eax
mov ebp, dword [eax + 0x7c]
mov dword [esp], ebp
call fcn.00431bc0
mov ebx, dword [esp + 0x70]
mov dword [esp], ebx
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.0042ec20
movzx ebx, byte [0x6d3ba8]
cmp bl, 0
je 0x431403
mov ebx, dword [esp + 0x70]
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.00446ca0
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x88], ebx
mov byte [esp + 0x8c], 0
add esp, 0x84
ret
mov ebx, dword [0x6dbcf4]
mov dword [esp + 0x18], ebx
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x30
call fcn.004faa40
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x18]
dec eax
cmp eax, ecx
jne 0x4318c2
mov ebx, dword [0x6dbce0]
cmp ebx, 0
je 0x4314f7
mov ebx, dword [esp + 0x7c]
mov ebp, dword [ebx + 0x924]
cmp ebp, 0
je 0x4314f7
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
call fcn.004191a0
movzx ebx, byte [esp + 4]
cmp bl, 0
je 0x4314f7
mov eax, 2
mov ebx, dword [esp + 0x7c]
mov dword [ebx + 0x928], eax
mov ebx, dword [esp + 0x7c]
mov ebp, dword [ebx + 0x924]
mov dword [esp + 0x68], ebp
mov dword [esp], ebp
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.0042ec20
movzx ebx, byte [0x6d3ba8]
cmp bl, 0
je 0x4314dd
mov ebx, dword [esp + 0x68]
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.00446ca0
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x88], ebx
mov byte [esp + 0x8c], 0
add esp, 0x84
ret
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x10
call fcn.0040dde0
mov ecx, dword [esp + 0x7c]
mov ebx, dword [0x6cad74]
cmp ebx, 0
jne 0x4318ac
mov ebp, dword [ecx + 0x944]
cmp ebp, 0
jne 0x4318ac
mov ebx, dword [0x6cad40]
cmp ebx, 0
je 0x431578
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00436f00
mov ebx, dword [esp + 8]
mov dword [esp + 0x64], ebx
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x10
call fcn.0040e020
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x88], ebx
mov byte [esp + 0x8c], 0
add esp, 0x84
ret
call fcn.00435390
mov ebx, dword [esp]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
je 0x4318a7
mov ebx, 0x5fbdba
mov dword [esp], ebx
mov dword [esp + 4], 0x15
call fcn.0042b7d0
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
call fcn.00437020
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x10
call fcn.0040e020
mov ecx, dword [esp + 0x80]
mov ebp, dword [ecx + 0x18]
movzx ebx, byte [ebp + 0x84]
mov byte [esp + 0x17], bl
mov ebp, dword [ecx + 0x18]
movzx ebx, byte [ebp + 0x84]
cmp bl, 0
je 0x431628
xor eax, eax
mov ebp, dword [ecx + 0x18]
mov byte [ebp + 0x84], al
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x34
mov dword [esp + 4], 0xffffffff
call fcn.004fac00
mov ebx, dword [esp + 8]
cmp ebx, 0
jge 0x4318a2
mov ebx, 0x5ffcf3
mov dword [esp], ebx
mov dword [esp + 4], 0x21
call fcn.0042b7d0
xor ecx, ecx
mov eax, dword [0x6dbcf4]
cmp eax, ecx
jle 0x4316f9
mov dword [esp + 0x20], ecx
mov ebx, ecx
mov ebp, 0x6cb4a0
cmp ecx, 0x101
jae 0x43189b
shl ebx, 2
add ebp, ebx
mov eax, dword [ebp]
xor ebp, ebp
cmp eax, ebp
je 0x431895
mov dword [esp], eax
call fcn.00437110
mov ecx, dword [esp + 0x20]
movzx ebx, byte [esp + 4]
cmp bl, 0
jne 0x431895
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x10
call fcn.0040dde0
call fcn.004370b0
mov ebx, dword [esp]
mov dword [esp + 0x78], ebx
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x10
call fcn.0040e020
mov eax, dword [esp + 0x78]
xor ebp, ebp
cmp eax, ebp
je 0x4316f9
mov dword [esp], eax
call fcn.00435160
cmp byte [esp + 0x17], 0
je 0x431274
mov eax, 1
mov ebx, dword [esp + 0x80]
mov ebp, dword [ebx + 0x18]
mov byte [ebp + 0x84], al
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x34
mov dword [esp + 4], 1
call fcn.004fac00
jmp 0x431274
call fcn.004264e0
movzx ebx, byte [esp]
cmp bl, 0
je 0x431893
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 8
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.004faad0
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp eax, 0
jne 0x431742
cmp edx, 0
je 0x431893
mov ebx, dword [esp + 0x80]
mov ebp, dword [ebx + 0x18]
mov ebx, dword [ebp + 0x54]
cmp ebx, 0
je 0x431769
mov ebx, 0x5fe4de
mov dword [esp], ebx
mov dword [esp + 4], 0x1c
call fcn.0042b7d0
mov ebx, dword [esp + 0x80]
mov ebp, dword [ebx + 0x18]
movzx ebx, byte [ebp + 0x84]
cmp bl, 0
je 0x431794
mov ebx, 0x60057e
mov dword [esp], ebx
mov dword [esp + 4], 0x23
call fcn.0042b7d0
mov byte [esp], 1
call fcn.00427a00
mov ebx, dword [esp + 4]
mov dword [esp + 0x74], ebx
call fcn.004291f0
mov edx, dword [esp]
mov ecx, dword [esp + 4]
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 8
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004fac80
mov ebx, dword [esp + 0x74]
xor ebp, ebp
cmp ebx, ebp
je 0x431889
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x10
call fcn.0040dde0
call fcn.004370b0
mov ebx, dword [esp]
mov dword [esp + 0x7c], ebx
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x10
call fcn.0040e020
mov eax, dword [esp + 0x7c]
xor ebp, ebp
cmp eax, ebp
je 0x43187d
mov dword [esp], eax
call fcn.00435160
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx + 0x7c]
mov dword [esp], ebp
call fcn.00431bc0
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.0042ec20
movzx ebx, byte [0x6d3ba8]
cmp bl, 0
je 0x431863
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.00446ca0
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x88], ebx
mov byte [esp + 0x8c], 0
add esp, 0x84
ret
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call fcn.00431bc0
call fcn.004306b0
jmp 0x431274
jmp 0x431889
inc ecx
jmp 0x43162a
call fcn.00429b10
ud2
jmp 0x431628
jmp 0x4315a1
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x10
call fcn.0040e020
jmp 0x431274
mov ebp, dword [esi + 0x18]
movzx ebx, byte [ebp + 0x84]
cmp bl, 0
jne 0x43191b
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x34
call fcn.004faa40
mov ebx, dword [esp + 4]
mov dword [esp + 0x28], ebx
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x30
call fcn.004faa40
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x28]
shl ecx, 1
mov ebx, dword [esp + 0x18]
sub ebx, edx
cmp ecx, ebx
jb 0x43191b
jmp 0x431450
mov ebp, dword [esi + 0x18]
movzx ebx, byte [ebp + 0x84]
cmp bl, 0
jne 0x431951
mov eax, 1
mov ebp, dword [esi + 0x18]
mov byte [ebp + 0x84], al
mov ebx, 0x6cad00
mov dword [esp], ebx
add dword [esp], 0x34
mov dword [esp + 4], 1
call fcn.004fac00
xor eax, eax
mov dword [esp + 0x1c], eax
cmp eax, 4
jge 0x431450
mov ebx, 0x6ca990
mov dword [esp + 0x60], ebx
call fcn.00454220
mov edi, dword [esp + 0x60]
mov ecx, dword [esp]
xor ebx, ebx
mov ebp, dword [edi + 8]
mov dword [esp + 0x2c], ebp
xor ebx, ebx
mov dword [esp + 0x50], ebx
mov ebp, dword [edi]
mov dword [esp + 0x54], ebp
mov ebx, dword [edi]
mov dword [esp + 0x24], eax
mov eax, ecx
xor edx, edx
div ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x58], edx
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
mov eax, ecx
xor edx, edx
div ebp
mov ebp, edx
mov eax, dword [esp + 0x24]
mov esi, dword [edi + 8]
cmp edx, esi
jae 0x431ad4
mov esi, dword [edi + 4]
shl ebp, 2
add esi, ebp
mov eax, dword [esi]
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x30], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], eax
lea ebx, [esp + 0x40]
mov ecx, dword [ebx]
mov ebp, dword [ebx + 4]
cmp ecx, ebp
je 0x431aca
xor eax, eax
cmp al, 0
jne 0x431ac0
mov ebx, dword [0x6cad74]
cmp ebx, 0
jne 0x431274
mov ebx, dword [esp + 0x1c]
cmp ebx, 2
jg 0x431ab6
xor eax, eax
lea ebx, [esp + 0x40]
mov ebp, dword [ebx + 8]
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebx, ebp
mov ebp, 0x6cb4a0
cmp ebx, 0x101
jae 0x431aaf
shl ebx, 2
add ebp, ebx
mov ebx, dword [ebp]
mov dword [esp + 4], ebx
mov byte [esp + 8], al
call fcn.00437910
mov ecx, dword [esp + 0xc]
xor ebp, ebp
cmp ecx, ebp
je 0x431a83
mov dword [esp + 0x88], ecx
mov byte [esp + 0x8c], 0
add esp, 0x84
ret
lea ebx, [esp + 0x40]
mov ecx, ebx
mov esi, dword [ebx]
inc esi
mov dword [ebx], esi
mov ebx, dword [ebx + 8]
mov esi, dword [ecx + 0xc]
add ebx, esi
mov dword [esp + 0x24], eax
mov eax, ebx
mov esi, dword [ecx + 4]
xor edx, edx
div esi
mov eax, dword [esp + 0x24]
mov dword [ecx + 8], edx
jmp 0x4319f7
call fcn.00429b10
ud2
mov eax, 1
jmp 0x431a31
mov eax, dword [esp + 0x1c]
inc eax
jmp 0x431953
mov eax, 1
jmp 0x431a0a
call fcn.00429b10
ud2
jmp 0x43141d
call fcn.00452240
jmp fcn.00431240