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

Disassembly:
push 0xffffffffffffffff
push 0x666bc3
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x702ca8]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x702ca8]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov edi, dword [esp + 0xa4]
mov ebp, ecx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x24], edi
xor esi, esi
mov dword [esp + 0x80], esi
call fcn.00432fc0
mov eax, dword [esp + 0xac]
cmp eax, esi
mov byte [esp + 0x80], 1
mov dword [ebp], 0x6c05e0
mov dword [ebp + 0x20], 0x6c0630
mov dword [ebp + 0x90], esi
mov dword [ebp + 0x94], esi
mov dword [ebp + 0x98], eax
jge 0x4311c0
mov eax, dword [edi + 0x98]
mov dword [ebp + 0x98], eax
mov ecx, dword [esp + 0x9c]
push esi
push 0x6ba06e
push ecx
push esi
lea ecx, [esp + 0x98]
call fcn.00403f60
test eax, eax
je 0x4314d8
mov ebx, 1
push 0x20
lea esi, [esp + 0x8c]
mov dword [esp + 0x20], ebx
call fcn.00409700
mov byte [esp + 0x14], 0x7c
mov byte [esp + 0x18], 0x20
mov dword [esp + 0x28], 0xffffffff
lea esp, [esp]
mov esi, dword [esp + 0x28]
push 1
add esi, 1
push esi
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x94]
call fcn.00409580
push 1
mov ebx, eax
push esi
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x94]
call fcn.00409580
test ebx, ebx
mov esi, eax
jl 0x43124f
cmp ebx, esi
jge 0x43124f
mov esi, ebx
jmp 0x431252
or ebx, 0xffffffff
test esi, esi
jl 0x4312f3
push esi
push 0
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x94]
call fcn.00409540
sub esp, 0x1c
mov dword [esp + 0x3c], esp
mov ecx, esp
push 0xffffffffffffffff
mov byte [esp + 0xa0], 2
push 0
lea edx, [esp + 0x50]
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], 0
push edx
mov byte [ecx + 4], 0
call fcn.00402610
mov byte [esp + 0x9c], 1
cmp dword [esp + 0x60], 0x10
jb 0x4312bc
mov eax, dword [esp + 0x4c]
push eax
call fcn.0060445c
add esp, 4
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x60], edi
push ecx
lea edi, [esp + 0x70]
mov dword [esp + 0x60], 0
mov byte [esp + 0x50], 0
call fcn.0044f220
mov edx, dword [esp + 0xa8]
cmp dword [eax], edx
jg 0x4312ff
cmp ebx, esi
je 0x431309
mov dword [esp + 0x28], esi
jmp 0x431210
mov esi, dword [esp + 0x9c]
add esi, 0xffffffff
jmp 0x431309
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x431309
mov esi, eax
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x3c], esp
push esi
push 0
push eax
lea ecx, [esp + 0xb0]
call fcn.00409540
lea ecx, [esp + 0x74]
call fcn.00402cd0
push 0x98
mov byte [esp + 0x84], 3
call fcn.00604431
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
xor ebx, ebx
cmp edi, ebx
mov byte [esp + 0x80], 4
je 0x43138c
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
push ecx
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x84]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402610
push edi
call fcn.00432550
jmp 0x43138e
xor eax, eax
mov byte [esp + 0x80], 3
cmp dword [ebp + 0xc], ebx
mov ecx, dword [eax + 0x94]
mov dword [esp + 0x1c], ecx
jne 0x4313b0
mov dword [eax + 8], ebx
mov dword [eax + 4], ebx
mov dword [ebp + 0xc], eax
jmp 0x4313c6
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 8]
cmp ecx, ebx
mov dword [eax + 8], ecx
je 0x4313c0
mov dword [ecx + 4], eax
mov dword [edx + 8], eax
mov dword [eax + 4], edx
sub esp, 0x1c
mov edx, esp
mov dword [esp + 0x3c], esp
push 0xffffffffffffffff
add esi, 1
push esi
mov dword [ebp + 0x10], eax
push edx
lea ecx, [esp + 0xb0]
mov dword [eax + 0x14], ebp
call fcn.00409540
lea ecx, [esp + 0x48]
call fcn.00402cd0
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x94]
mov byte [esp + 0x8c], 5
call fcn.00402610
mov esi, 0x10
cmp dword [esp + 0x44], esi
jb 0x431425
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0060445c
add esp, 4
mov byte [esp + 0x80], 1
cmp dword [esp + 0x70], esi
jb 0x431440
mov edx, dword [esp + 0x5c]
push edx
call fcn.0060445c
add esp, 4
cmp dword [esp + 0x9c], ebx
ja 0x431204
mov eax, dword [ebp + 0xc]
xor ebx, ebx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], bl
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], eax
call fcn.00405930
cmp byte [esp + 0x2c], bl
jne 0x4314ab
jmp 0x431480
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x90]
mov ecx, dword [ebp + 0x90]
cmp ecx, eax
jle 0x431496
mov eax, ecx
lea ecx, [esp + 0x2c]
mov dword [ebp + 0x90], eax
call fcn.00405930
cmp byte [esp + 0x2c], bl
je 0x431480
mov eax, dword [ebp + 0xc]
cmp eax, ebx
je 0x4314d8
xor ecx, ecx
mov eax, dword [eax + 8]
add ecx, 1
cmp eax, ebx
jne 0x4314b4
mov edx, dword [esp + 0x24]
add ecx, 0xffffffff
imul ecx, dword [ebp + 0x98]
add ecx, dword [edx + 0x98]
mov dword [ebp + 0x94], ecx
cmp dword [esp + 0xa0], 0x10
jb 0x4314f2
mov eax, dword [esp + 0x8c]
push eax
call fcn.0060445c
add esp, 4
mov eax, ebp
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00615b69
add esp, 0x70
ret 0x28