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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x450bdf
sub esp, 0x60
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x450bd8
mov eax, 0x20
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
cmp edx, 1
jl 0x450bc5
mov ebx, dword [esp + 0x6c]
lea ebp, [ebx - 2]
cmp ebp, 0x22
ja 0x450aad
xor ecx, ecx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x2c], ecx
cmp ebx, 0xa
jne 0x450a58
mov ebp, 0x9999999a
mov esi, 0x19999999
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], esi
mov edi, ecx
mov ecx, eax
mov esi, 1
shl esi, cl
cmp eax, 0x20
sbb ebp, ebp
and ebp, esi
mov esi, ebp
add ebp, 0xffffffff
lea ecx, [eax - 0x20]
mov eax, ebp
mov ebp, 1
shl ebp, cl
cmp ecx, 0x20
sbb ebx, ebx
and ebx, ebp
neg ecx
mov ebp, 1
shr ebp, cl
cmp ecx, 0x20
mov ecx, edx
sbb edx, edx
and edx, ebp
or ebx, edx
add esi, 0xffffffff
adc ebx, 0xffffffff
mov dword [esp + 0x38], ebx
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c], edi
cmp edi, ecx
jge 0x4508e0
jae 0x450a51
movzx esi, byte [esi + edi]
lea ecx, [esi - 0x30]
cmp cl, 9
ja 0x450a1e
mov byte [esp + 0x1f], cl
xchg ebp, eax
cmp cl, al
xchg ebp, eax
jae 0x450a0b
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
cmp esi, edi
xchg edi, ebx
setae bl
xchg edi, ebx
mov ebx, dword [esp + 0x28]
cmp ebx, edx
sete cl
and edi, ecx
cmp ebx, edx
seta cl
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4509f5
mov ecx, eax
mov eax, ebp
mul esi
mov dword [esp + 0x24], eax
movzx edi, byte [esp + 0x1f]
xchg edi, eax
movzx eax, al
xchg edi, eax
add eax, edi
sar ebp, 0x1f
imul esi, ebp
add edx, esi
mov ebp, dword [esp + 0x6c]
imul ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x24]
add edi, ebx
mov esi, edx
adc edx, 0
cmp edx, esi
xchg edi, ebx
sete bl
xchg edi, ebx
cmp eax, ebx
setb bl
and edi, ebx
cmp edx, esi
setb bl
or ebx, edi
test bl, bl
jne 0x450907
mov ebx, dword [esp + 0x38]
cmp edx, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp eax, ecx
xchg edi, ebx
seta bl
xchg edi, ebx
and esi, edi
cmp edx, ebx
xchg edi, ebx
seta bl
xchg edi, ebx
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
jne 0x450907
mov esi, dword [esp + 0x2c]
lea edi, [esi + 1]
mov esi, dword [esp + 0x34]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov eax, ecx
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], edi
cmp edi, ecx
jl 0x4507ec
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
add esp, 0x60
ret
mov eax, dword [0x872cf0]
mov ecx, dword [0x872cf4]
mov edx, 0xffffffff
mov dword [esp + 0x28], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
lea ebx, [0x6d4a00]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov dword [eax + 4], 9
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x4509da
lea ecx, [0x7060c6]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 8]
test ecx, ecx
jne 0x4509c4
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x10], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 0x14]
test ecx, ecx
jne 0x4509ae
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
lea ecx, [0x8483e0]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
mov dword [esp], edx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x5c]
jmp 0x45098d
mov dword [esp], edx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x5c]
jmp 0x450972
mov dword [esp], eax
lea ecx, [0x7060c6]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x5c]
jmp 0x450957
mov ecx, dword [0x872cf4]
mov eax, dword [0x872cf0]
mov edx, 0xffffffff
jmp 0x450918
mov ecx, dword [0x872cfc]
mov eax, dword [0x872cf8]
xor edx, edx
jmp 0x450918
lea ecx, [esi - 0x61]
cmp cl, 0x19
ja 0x450a2e
lea ecx, [esi - 0x57]
jmp 0x450802
lea ecx, [esi - 0x41]
cmp cl, 0x19
ja 0x450a3e
lea ecx, [esi - 0x37]
jmp 0x450802
mov ecx, dword [0x872cfc]
mov eax, dword [0x872cf8]
xor edx, edx
jmp 0x450918
call fcn.00424680
ud2
cmp ebx, 0x10
jne 0x450a69
xor ebp, ebp
mov esi, 0x10000000
jmp 0x450768
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], ebx
sar ebx, 0x1f
mov dword [esp + 0xc], ebx
call fcn.004453b0
mov eax, dword [esp + 0x10]
add eax, 1
mov esi, dword [esp + 0x14]
adc esi, 0
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, eax
mov eax, dword [esp + 0x70]
jmp 0x450768
test ebx, ebx
jne 0x450b2b
mov ebx, dword [esp + 0x64]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jne 0x450b24
cmp edx, 1
jle 0x450b1d
movzx esi, byte [ebx + 1]
xchg esi, eax
cmp al, 0x78
xchg esi, eax
jne 0x450afa
cmp edx, 3
jl 0x450ae7
mov ecx, 0x10
mov ebp, 2
mov ebx, ecx
mov ecx, ebp
jmp 0x45074d
mov ecx, dword [0x872cfc]
mov eax, dword [0x872cf8]
xor edx, edx
jmp 0x450918
xchg esi, eax
cmp al, 0x58
xchg esi, eax
je 0x450acf
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jne 0x450b14
mov ecx, 8
mov ebp, 1
jmp 0x450ade
mov ecx, 0xa
xor ebp, ebp
jmp 0x450ade
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jmp 0x450b06
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jmp 0x450b06
mov dword [esp], ebx
call fcn.00456300
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], 0
lea edx, [0x707abc]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043a840
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
lea edx, [0x6c1540]
mov dword [esp], edx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x450baf
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
xor edx, edx
lea eax, [0x847d20]
mov ecx, dword [esp + 0x58]
jmp 0x450918
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x58]
jmp 0x450b9e
mov ecx, dword [0x872cfc]
mov eax, dword [0x872cf8]
xor edx, edx
jmp 0x450918
mov eax, edx
jmp 0x45072a
call fcn.004486b0
jmp fcn.00450700