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

Disassembly:
mov ecx, dword [0x96a830]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x450433
sub esp, 0x70
mov ecx, dword [esp + 0x78]
mov edx, ecx
shr ecx, 0x14
and ecx, 0x7ff
mov ebx, edx
and edx, 0xfffff
test ecx, ecx
jne 0x450095
mov ecx, dword [esp + 0x74]
test ecx, ecx
xchg ebp, ebx
setne bl
xchg ebp, ebx
test edx, edx
xchg esi, ebx
setne bl
xchg esi, ebx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x45008c
mov eax, ecx
mov ebp, 0xfffffc02
jmp 0x450429
mov eax, ecx
xor ebp, ebp
jmp 0x450414
cmp ecx, 0x7ff
jne 0x4500d1
mov ebp, dword [esp + 0x74]
test ebp, ebp
xchg esi, ebx
setne bl
xchg esi, ebx
test edx, edx
xchg edi, ebx
setne bl
xchg edi, ebx
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x4500c6
mov eax, ebp
xor esi, esi
mov edi, 1
jmp 0x4500eb
mov eax, ebp
mov esi, 1
xor edi, edi
jmp 0x4500eb
or edx, 0x100000
add ecx, 0xfffffc01
mov eax, dword [esp + 0x74]
mov ebp, eax
xor esi, esi
xor edi, edi
mov eax, dword [esp + 0x74]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x30], ebp
mov ecx, dword [esp + 0x80]
shr ecx, 0x14
and ecx, 0x7ff
mov ebx, dword [esp + 0x80]
and ebx, 0xfffff
test ecx, ecx
jne 0x45013d
test ebx, ebx
setne cl
mov ebp, dword [esp + 0x7c]
test ebp, ebp
setne al
or eax, ecx
test al, al
je 0x450134
mov eax, ebp
mov ecx, 0xfffffc02
jmp 0x45040a
mov eax, ebp
xor ecx, ecx
jmp 0x4503e7
cmp ecx, 0x7ff
jne 0x4501b7
mov dword [esp + 0x38], edx
test ebx, ebx
setne al
mov ebp, dword [esp + 0x7c]
test ebp, ebp
setne dl
or edx, eax
test dl, dl
je 0x45018a
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2c], eax
xor eax, eax
mov byte [esp + 0x27], al
mov edx, 1
mov byte [esp + 0x26], dl
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x38]
jmp 0x4501e7
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2c], eax
mov eax, 1
mov byte [esp + 0x27], al
xor edx, edx
mov byte [esp + 0x26], dl
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x38]
jmp 0x4501e7
or ebx, 0x100000
add ecx, 0xfffffc01
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x60], eax
xor eax, eax
mov byte [esp + 0x27], al
xor eax, eax
mov byte [esp + 0x26], al
mov eax, dword [esp + 0x60]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4501f8
movzx edi, byte [esp + 0x26]
xchg edi, eax
test al, al
xchg edi, eax
je 0x450212
mov dword [esp + 0x88], 0x7ff80000
mov dword [esp + 0x84], 0
add esp, 0x70
ret
mov dword [esp + 0x40], ecx
mov edi, dword [esp + 0x80]
and edi, 0x80000000
xchg esi, eax
test al, al
xchg esi, eax
je 0x450274
movzx ecx, byte [esp + 0x27]
test cl, cl
jne 0x45025c
xchg esi, eax
test al, al
xchg esi, eax
je 0x450279
mov dword [esp + 0x28], edi
test ebx, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
mov edi, dword [esp + 0x2c]
test edi, edi
sete al
and esi, eax
xchg esi, eax
test al, al
xchg esi, eax
jne 0x450291
mov edi, dword [esp + 0x28]
jmp 0x450279
mov ecx, dword [esp + 0x78]
xor ecx, edi
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], eax
add esp, 0x70
ret
movzx ecx, byte [esp + 0x27]
test edx, edx
xchg esi, ebx
sete bl
xchg esi, ebx
test ebp, ebp
sete al
and eax, esi
test al, al
je 0x4502cb
test cl, cl
je 0x4502ab
mov dword [esp + 0x88], 0x7ff80000
mov dword [esp + 0x84], 0
add esp, 0x70
ret
test al, al
je 0x4502cb
mov eax, dword [esp + 0x78]
xor eax, edi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x84], eax
add esp, 0x70
ret
mov dword [esp + 0x34], ebx
mov ecx, dword [esp + 0x78]
and ecx, 0x80000000
mov eax, dword [esp + 0x2c]
test eax, eax
xchg esi, ebx
sete bl
xchg esi, ebx
test ebx, ebx
sete bl
and ebx, esi
test bl, bl
je 0x450310
mov eax, dword [esp + 0x80]
xor eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x84], eax
add esp, 0x70
ret
xor ecx, edi
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
lea ebx, [esi + ebx - 1]
mov dword [esp + 0x5c], ebx
mov esi, edx
mov edi, eax
mul ebp
mov dword [esp + 0x58], edx
mov dword [esp + 0x3c], eax
mov eax, esi
mul edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
mul ebp
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
imul edi, esi
mov ebx, dword [esp + 0x34]
imul ebp, ebx
mov edx, dword [esp + 0x58]
add ebp, edx
add ebp, edi
mov edi, ebp
and ebp, 0x7ffff
shr edi, 0x13
mov eax, esi
mov esi, edx
mul ebx
nop
mov dword [esp + 4], ecx
mov dword [esp], 0
mov ecx, dword [esp + 0x50]
add ecx, esi
mov ebx, dword [esp + 0x54]
adc ebx, 0
mov esi, dword [esp + 0x48]
add esi, ecx
mov ecx, dword [esp + 0x4c]
adc ecx, 0
add ebx, eax
adc edx, 0
add ecx, ebx
adc edx, 0
shl edx, 0xd
mov ebx, ecx
shl ecx, 0xd
shr ebx, 0x13
or ebx, edx
mov dword [esp + 0xc], ebx
or edi, ecx
mov dword [esp + 8], edi
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
call fcn.0044f6a0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], edx
add esp, 0x70
ret
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x30]
jmp 0x4501d3
mov dword [esp + 0x2c], ebp
shl ebx, 1
shr ebp, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0x2c]
shl ebp, 1
dec ecx
cmp ebx, 0x100000
jb 0x4503f8
jmp 0x4503e7
mov eax, ecx
mov ecx, ebp
jmp 0x4500e1
shl edx, 1
mov esi, ecx
shr esi, 0x1f
or edx, esi
shl ecx, 1
dec ebp
cmp edx, 0x100000
jb 0x45041d
jmp 0x450414
call fcn.0046a980
jmp fcn.00450030