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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44c651
sub esp, 0x74
mov ecx, dword [esp + 0x7c]
mov edx, ecx
and ecx, 0xfffff
mov ebx, edx
shr edx, 0x14
and edx, 0x7ff
test edx, edx
jne 0x44c246
mov ebp, dword [esp + 0x78]
test ebp, ebp
xchg esi, ebx
setne bl
xchg esi, ebx
test ecx, ecx
xchg edi, ebx
setne bl
xchg edi, ebx
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x44c23f
add edx, 0xfffffc02
mov eax, ebp
jmp 0x44c647
mov eax, ebp
jmp 0x44c632
cmp edx, 0x7ff
jne 0x44c282
mov ebp, dword [esp + 0x78]
test ebp, ebp
xchg esi, ebx
setne bl
xchg esi, ebx
test ecx, ecx
xchg edi, ebx
setne bl
xchg edi, ebx
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x44c277
mov eax, ebp
xor esi, esi
mov edi, 1
jmp 0x44c29c
mov eax, ebp
mov esi, 1
xor edi, edi
jmp 0x44c29c
or ecx, 0x100000
add edx, 0xfffffc01
mov eax, dword [esp + 0x78]
mov ebp, eax
xor esi, esi
xor edi, edi
mov eax, dword [esp + 0x78]
mov dword [esp + 0x48], edx
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
mov dword [esp + 0x34], ebp
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x84]
and edx, 0xfffff
mov ebx, dword [esp + 0x84]
shr ebx, 0x14
and ebx, 0x7ff
test ebx, ebx
jne 0x44c2fe
mov ebp, dword [esp + 0x80]
test ebp, ebp
setne cl
test edx, edx
xchg esi, ebx
setne bl
xchg esi, ebx
or ecx, esi
test cl, cl
je 0x44c2f7
lea ecx, [ebx - 0x3fe]
mov ebx, ebp
jmp 0x44c61f
mov ecx, ebp
jmp 0x44c5fb
cmp ebx, 0x7ff
jne 0x44c397
test edx, edx
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov ecx, dword [esp + 0x80]
test ecx, ecx
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x44c361
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x34]
movzx esi, byte [esp + 0x27]
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x30], ebp
xor ebp, ebp
xchg ebp, eax
mov byte [esp + 0x26], al
xchg ebp, eax
mov esi, 1
xchg esi, eax
mov byte [esp + 0x25], al
xchg esi, eax
mov ebp, dword [esp + 0x34]
movzx esi, byte [esp + 0x27]
jmp 0x44c3ca
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x34]
movzx esi, byte [esp + 0x27]
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x30], ebp
mov ebp, 1
xchg ebp, eax
mov byte [esp + 0x26], al
xchg ebp, eax
xor esi, esi
xchg esi, eax
mov byte [esp + 0x25], al
xchg esi, eax
mov ebp, dword [esp + 0x34]
movzx esi, byte [esp + 0x27]
jmp 0x44c3ca
or edx, 0x100000
add ebx, 0xfffffc01
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x64], eax
xor eax, eax
mov byte [esp + 0x26], al
xor eax, eax
mov byte [esp + 0x25], al
mov eax, dword [esp + 0x64]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x44c3db
movzx edi, byte [esp + 0x25]
xchg edi, eax
test al, al
xchg edi, eax
je 0x44c3f5
mov dword [esp + 0x8c], 0x7ff80000
mov dword [esp + 0x88], 0
add esp, 0x74
ret
mov dword [esp + 0x44], ebx
mov edi, dword [esp + 0x84]
and edi, 0x80000000
mov dword [esp + 0x2c], edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x44c45b
movzx ebx, byte [esp + 0x26]
test bl, bl
jne 0x44c443
xchg esi, eax
test al, al
xchg esi, eax
je 0x44c460
test edx, edx
xchg esi, ebx
sete bl
xchg esi, ebx
mov edi, dword [esp + 0x30]
test edi, edi
xchg edi, ebx
sete bl
xchg edi, ebx
and esi, edi
xchg esi, eax
test al, al
xchg esi, eax
jne 0x44c47e
mov edi, dword [esp + 0x2c]
jmp 0x44c460
mov ecx, dword [esp + 0x7c]
xor ecx, edi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x88], eax
add esp, 0x74
ret
movzx ebx, byte [esp + 0x26]
test ecx, ecx
xchg esi, ebx
sete bl
xchg esi, ebx
test ebp, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x44c4ba
test bl, bl
je 0x44c498
mov dword [esp + 0x8c], 0x7ff80000
mov dword [esp + 0x88], 0
add esp, 0x74
ret
xchg edi, eax
test al, al
xchg edi, eax
je 0x44c4ba
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x2c]
xor ecx, edx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x88], eax
add esp, 0x74
ret
test edx, edx
sete bl
mov eax, dword [esp + 0x30]
test eax, eax
xchg esi, ebx
sete bl
xchg esi, ebx
and ebx, esi
mov esi, dword [esp + 0x7c]
and esi, 0x80000000
test bl, bl
je 0x44c4fe
mov eax, dword [esp + 0x84]
xor eax, esi
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x88], eax
add esp, 0x74
ret
mov dword [esp + 0x38], edx
mov ebx, edx
mov edi, eax
mul ebp
mov dword [esp + 0x60], edx
mov dword [esp + 0x40], eax
mov eax, ecx
mul edi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], eax
mov edi, dword [esp + 0x60]
add eax, edi
mov dword [esp + 0x28], eax
mov eax, ebx
mul ebp
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
mov ebp, dword [esp + 0x28]
add eax, ebp
mov eax, ecx
mul ebx
mov ebx, dword [esp + 0x58]
add ebx, edi
mov ebx, dword [esp + 0x5c]
adc ebx, 0
mov dword [esp + 0x4c], ebx
add ebx, eax
mov edi, dword [esp + 0x50]
add edi, ebp
mov ebp, dword [esp + 0x54]
adc ebp, 0
mov edi, ebp
add ebp, ebx
nop
mov ecx, dword [esp + 0x2c]
xor esi, ecx
mov dword [esp + 4], esi
mov dword [esp], 0
mov ecx, dword [esp + 0x4c]
add ecx, eax
adc edx, 0
add edi, ebx
adc edx, 0
shl edx, 0xd
mov ecx, ebp
shr ebp, 0x13
or ebp, edx
mov dword [esp + 0xc], ebp
shl ecx, 0xd
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x30]
imul edx, ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
imul ebx, ebp
mov ebp, dword [esp + 0x60]
add ebx, ebp
add edx, ebx
mov ebx, edx
shr edx, 0x13
or edx, ecx
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
lea ecx, [edx + ecx - 1]
mov dword [esp + 0x10], ecx
and ebx, 0x7ffff
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
call fcn.0044b820
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x88], edx
add esp, 0x74
ret
mov ecx, dword [esp + 0x3c]
movzx esi, byte [esp + 0x27]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x34]
jmp 0x44c3b6
shl edx, 1
mov esi, ebp
shr ebp, 0x1f
or edx, ebp
shl esi, 1
dec ecx
mov ebp, esi
cmp edx, 0x100000
jb 0x44c611
mov ebx, ecx
mov ecx, dword [esp + 0x80]
jmp 0x44c5fb
mov eax, ebp
jmp 0x44c292
shl ecx, 1
mov esi, ebp
shr ebp, 0x1f
or ecx, ebp
shl esi, 1
dec edx
mov ebp, esi
cmp ecx, 0x100000
jb 0x44c639
jmp 0x44c632
call fcn.004634e0
jmp fcn.0044c1e0