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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x954065
sub esp, 0xa8
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x954045
mov ecx, dword [ecx]
mov dword [esp + 0x30], ecx
lea eax, [0xb482a0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.00446f30
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x2c]
lea edi, [esp + 0x78]
xor eax, eax
call fcn.00460de4
lea ecx, [0xab28e0]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [esp + 0x78]
mov dword [esp + 8], ecx
call fcn.0040d9f0
xor eax, eax
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x30]
jmp 0x953c5d
lea eax, [esp + 0x78]
mov dword [esp], eax
call fcn.0040dc60
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x78]
test ebx, ebx
je 0x953cd8
mov ebx, dword [esp + 0x7c]
mov ebx, dword [ebx]
lea ebp, [eax + 1]
cmp ebp, edx
ja 0x953c9d
mov dword [esp + 0x64], ecx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], edx
mov esi, dword [0x10fd360]
lea edi, [ecx + eax*4]
test esi, esi
jne 0x953c94
mov dword [ecx + eax*4], ebx
jmp 0x953c45
mov eax, ebx
call fcn.00460b40
jmp 0x953c45
mov dword [esp + 0x68], ebx
lea ebx, [0xb482a0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00447080
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x68]
jmp 0x953c76
mov dword [esp + 0x70], ecx
mov dword [esp + 0x58], edx
call fcn.0040c7a0
mov eax, dword [0x10fd360]
mov ecx, dword [esp]
test eax, eax
jne 0x95402f
mov eax, dword [esp + 0xac]
mov dword [eax + 0x2c], ecx
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
call fcn.00409500
mov eax, dword [esp + 0xc]
lea ecx, [0xc89b60]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004e8f50
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
xor ebx, ebx
jmp 0x953e67
mov ecx, dword [esp + 0x34]
add ecx, ebp
mov esi, dword [esp + 0x38]
adc esi, edi
mov edi, dword [esp + 0x3c]
add ebp, edi
mov edi, dword [esp + 0x6c]
mov edi, edx
mov dword [esp + 0x3c], ebp
mov ebp, esi
mov eax, ecx
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0xac]
mov ecx, ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebp
cmp edi, 0xffffffe
xchg ebp, ebx
seta bl
xchg ebp, ebx
test ecx, ecx
sete al
xchg esi, ebx
seta bl
xchg esi, ebx
and eax, ebp
or esi, eax
xchg esi, eax
test al, al
xchg esi, eax
je 0x953f18
mov eax, 0xffffffe
xor ebp, ebp
cmp eax, 0xfffffff
ja 0x954058
mov dword [esp + 0x24], ecx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0xac]
mov ebx, dword [ecx + 4]
mov ebx, dword [ebx + 0x130]
mov ebp, dword [esp + 0x3c]
lea esi, [edx + ebp]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], eax
mov esi, dword [esp + 0x34]
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x10], edi
mov ebp, dword [ebx]
mov edx, ebx
call ebp
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x953f03
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x4c]
mov esi, ecx
sub ecx, ebp
mov edi, dword [esp + 0xac]
inc dword [edi + 0x60]
sub esi, ebp
mov esi, dword [esp + 0x24]
mov eax, edi
mov edi, dword [esp + 0x54]
sbb esi, edi
test ecx, ecx
mov edx, ecx
sete cl
test esi, esi
mov ebx, esi
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x953d48
mov ebp, dword [esp + 0x58]
lea ebx, [ebp + 1]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x2c]
mov ecx, ebp
mov edx, esi
cmp ebx, edx
jge 0x953f21
mov dword [esp + 0x58], ebx
mov ebp, dword [ecx + ebx*4]
mov dword [esp + 0x6c], ebp
mov esi, dword [eax + 4]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x54], edi
add edi, 1
mov esi, dword [esi + 0x54]
mov dword [esp + 0x50], esi
mov eax, edi
mul esi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x28], eax
mov ecx, dword [ebp]
mov dword [esp + 0x48], ecx
mov eax, ecx
mul esi
mov ecx, dword [esp + 0x54]
add ecx, 1
mov ecx, 0
adc ecx, 0
imul ecx, esi
sar esi, 0x1f
mov dword [esp + 0x44], esi
imul edi, esi
mov esi, dword [esp + 0x4c]
add ecx, esi
add ecx, edi
mov esi, dword [ebp + 4]
mov edi, dword [esp + 0x50]
imul esi, edi
add esi, edx
mov edi, dword [esp + 0x48]
mov edx, ebp
mov ebp, dword [esp + 0x44]
imul edi, ebp
lea ebp, [edi + esi]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x5c]
jmp 0x953d79
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
add esp, 0xa8
ret
mov eax, edi
mov ebp, ecx
jmp 0x953daf
mov ebp, dword [eax + 4]
movzx esi, byte [ebp + 1]
xchg esi, eax
test al, al
xchg esi, eax
je 0x953fef
xor ebx, ebx
jmp 0x953f37
inc ebx
cmp ebx, edx
jge 0x953fd2
mov ebp, dword [ecx + ebx*4]
mov esi, dword [ebp + 0xc]
test esi, esi
jne 0x953f36
mov esi, dword [eax + 4]
mov esi, dword [esi + 0x54]
cmp esi, 0xfffffff
ja 0x95404c
mov dword [esp + 0x58], ebx
test esi, esi
jne 0x953fb4
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.00409500
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 4]
test byte [ecx], al
add ecx, 0xd0
mov edx, dword [esp + 0xc]
mov dword [esp], ecx
lea ecx, [0xa7cc80]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046b510
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x58]
jmp 0x953f36
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x40], esi
mov dword [esp], ebp
mov dword [esp + 4], esi
call fcn.00461310
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x40]
jmp 0x953f63
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
add esp, 0xa8
ret
mov eax, dword [ebp + 0x30]
mov dword [esp], eax
call fcn.004a4560
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x95401a
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
jmp 0x953f32
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
add esp, 0xa8
ret
mov edx, dword [esp + 0xac]
lea edi, [edx + 0x2c]
mov eax, ecx
call fcn.00460b40
jmp 0x953d00
xor ecx, ecx
jmp 0x953be4
mov edx, esi
mov ebx, 0xfffffff
call fcn.00460c40
mov edx, eax
mov ebx, 0xfffffff
call fcn.00460c40
nop
call fcn.0045f5f0
jmp fcn.00953bb0