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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x10]
cmp eax, dword [ecx + 8]
jbe 0x448648
sub esp, 0x90
mov eax, dword [esp + 0x98]
mov edx, eax
and eax, 0xfffff
mov ebx, edx
shr edx, 0x14
and edx, 0x7ff
test edx, edx
jne 0x448052
mov ebp, dword [esp + 0x94]
test ebp, ebp
xchg esi, ebx
setne bl
xchg esi, ebx
test eax, eax
xchg edi, ebx
setne bl
xchg edi, ebx
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x44804b
add edx, 0xfffffc02
mov ecx, ebp
jmp 0x44863f
mov ecx, ebp
jmp 0x44862a
cmp edx, 0x7ff
jne 0x448091
mov ebp, dword [esp + 0x94]
test ebp, ebp
xchg esi, ebx
setne bl
xchg esi, ebx
test eax, eax
xchg edi, ebx
setne bl
xchg edi, ebx
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x448086
mov ecx, ebp
xor esi, esi
mov edi, 1
jmp 0x4480b0
mov ecx, ebp
mov esi, 1
xor edi, edi
jmp 0x4480b0
or eax, 0x100000
add edx, 0xfffffc01
mov ecx, dword [esp + 0x94]
mov ebp, ecx
xor esi, esi
xor edi, edi
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x5c], edx
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0xa0]
and edx, 0xfffff
mov ebp, dword [esp + 0xa0]
shr ebp, 0x14
and ebp, 0x7ff
test ebp, ebp
jne 0x448114
mov eax, dword [esp + 0x9c]
test eax, eax
xchg esi, ebx
setne bl
xchg esi, ebx
test edx, edx
setne bl
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x44810d
lea ebx, [ebp - 0x3fe]
mov ebp, eax
jmp 0x448617
mov ebx, eax
jmp 0x4485f0
cmp ebp, 0x7ff
jne 0x4481b4
mov eax, dword [esp + 0x9c]
test eax, eax
xchg esi, ebx
setne bl
xchg esi, ebx
test edx, edx
setne bl
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x44817a
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x98]
movzx esi, byte [esp + 0x26]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x50], ebx
xor ebx, ebx
mov byte [esp + 0x25], bl
mov esi, 1
xchg esi, eax
mov byte [esp + 0x24], al
xchg esi, eax
mov ebx, dword [esp + 0x98]
movzx esi, byte [esp + 0x26]
jmp 0x448203
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x98]
movzx esi, byte [esp + 0x26]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x50], ebx
mov ebx, 1
mov byte [esp + 0x25], bl
xor esi, esi
xchg esi, eax
mov byte [esp + 0x24], al
xchg esi, eax
mov ebx, dword [esp + 0x98]
movzx esi, byte [esp + 0x26]
jmp 0x448203
or edx, 0x100000
add ebp, 0xfffffc01
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x50], eax
mov dword [esp + 0x78], ecx
xor ecx, ecx
mov byte [esp + 0x25], cl
xor ecx, ecx
mov byte [esp + 0x24], cl
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x448214
movzx edi, byte [esp + 0x24]
xchg edi, eax
test al, al
xchg edi, eax
je 0x448231
mov dword [esp + 0xa8], 0x7ff80000
mov dword [esp + 0xa4], 0
add esp, 0x90
ret
mov dword [esp + 0x58], ebp
and ebx, 0x80000000
mov edi, dword [esp + 0xa0]
and edi, 0x80000000
xchg esi, eax
test al, al
xchg esi, eax
je 0x4482a2
movzx ebp, byte [esp + 0x25]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x448280
cmp edi, ebx
jne 0x448263
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x448284
mov dword [esp + 0xa8], 0x7ff80000
mov dword [esp + 0xa4], 0
add esp, 0x90
ret
xchg esi, eax
test al, al
xchg esi, eax
je 0x4482a7
mov eax, dword [esp + 0x98]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], ecx
add esp, 0x90
ret
movzx ebp, byte [esp + 0x25]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4485cd
mov dword [esp + 0x54], edx
test eax, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x38]
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x44835b
mov ebp, dword [esp + 0x50]
test ebp, ebp
sete al
test edx, edx
sete dl
and edx, eax
test dl, dl
je 0x44831b
test ebx, ebx
je 0x448315
test edi, edi
jne 0x4482f9
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x44831f
mov eax, dword [esp + 0x98]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], ecx
add esp, 0x90
ret
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x44831f
xchg esi, eax
test al, al
xchg esi, eax
je 0x448353
test dl, dl
je 0x448330
mov eax, dword [esp + 0xa0]
xor eax, edi
jmp 0x448337
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa4], eax
add esp, 0x90
ret
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x30], ebx
mov ebp, dword [esp + 0x50]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
test edx, edx
sete bl
and ebx, esi
test bl, bl
jne 0x4485b1
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
cmp ebx, esi
jg 0x4483ae
jne 0x4483ca
cmp edx, eax
mov ecx, eax
seta al
sete dl
mov ebx, dword [esp + 0x38]
cmp ebp, ebx
seta bl
and edx, ebx
or edx, eax
test dl, dl
je 0x4483c0
mov eax, ecx
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x38]
jmp 0x4483e6
mov eax, ecx
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov ebx, esi
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x38]
mov edx, eax
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x4c], edi
sub ebx, esi
mov dword [esp + 0x74], ebx
cmp ebx, 0x20
sbb esi, esi
mov dword [esp + 0x70], esi
mov ecx, ebx
mov eax, 1
shl eax, cl
and eax, esi
mov dword [esp + 0x6c], eax
add eax, 0xffffffff
mov dword [esp + 0x68], eax
lea esi, [ecx - 0x20]
mov dword [esp + 0x64], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
cmp esi, 0x20
sbb ebx, ebx
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0x64]
cmp eax, 0x20
sbb ebp, ebp
mov ecx, esi
mov edx, 1
shr edx, cl
and edx, ebx
mov ecx, eax
mov ebx, 1
shl ebx, cl
and ebx, ebp
or ebx, edx
mov edx, dword [esp + 0x6c]
add edx, 0xffffffff
adc ebx, 0xffffffff
mov edx, dword [esp + 0x40]
cmp edi, edx
sete dl
mov byte [esp + 0x27], dl
mov edi, dword [esp + 0x54]
shl edi, 2
mov edx, dword [esp + 0x50]
shr edx, 0x1e
or edx, edi
mov dword [esp + 0x6c], edx
mov edi, dword [esp + 0x50]
shl edi, 2
mov dword [esp + 0x50], edi
mov edx, dword [esp + 0x48]
shl edx, 2
mov edi, dword [esp + 0x44]
shr edi, 0x1e
or edi, edx
mov dword [esp + 0x64], edi
mov edx, dword [esp + 0x44]
shl edx, 2
and ebx, edi
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x68]
and ebx, edx
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x74]
shr edi, cl
mov ebx, dword [esp + 0x70]
and edi, ebx
mov dword [esp + 0x48], edi
mov ecx, esi
mov edi, dword [esp + 0x64]
mov esi, edi
shl edi, cl
mov ecx, dword [esp + 0x74]
shr edx, cl
and edx, ebx
mov ebx, dword [esp + 0x60]
and edi, ebx
or edi, edx
mov ecx, eax
shr esi, cl
and esi, ebp
or edi, esi
movzx eax, byte [esp + 0x27]
and eax, 1
test al, al
je 0x448517
mov eax, dword [esp + 0x50]
add edi, eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x6c]
adc eax, ecx
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
mov ecx, eax
mov eax, edi
jmp 0x44854b
mov eax, dword [esp + 0x50]
sub eax, edi
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
sbb ecx, edx
mov edx, dword [esp + 0x2c]
test edx, edx
setne bl
mov ebp, dword [esp + 0x28]
test ebp, ebp
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x44854b
add eax, 0xffffffff
adc ecx, 0xffffffff
test ecx, ecx
sete bl
test eax, eax
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x448565
xor ebx, ebx
jmp 0x448569
mov ebx, dword [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x58]
add eax, 0xfffffffe
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ebp
call fcn.00447ca0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], ecx
add esp, 0x90
ret
mov eax, dword [esp + 0x98]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], ecx
add esp, 0x90
ret
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa4], eax
add esp, 0x90
ret
mov ebx, dword [esp + 0x98]
movzx esi, byte [esp + 0x26]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
jmp 0x4481d9
shl edx, 1
mov esi, eax
shr eax, 0x1f
or edx, eax
shl esi, 1
dec ebx
mov eax, esi
cmp edx, 0x100000
jb 0x448609
mov ebp, ebx
mov ebx, dword [esp + 0x9c]
jmp 0x4485f0
mov ecx, ebp
jmp 0x4480a3
shl eax, 1
mov esi, ebp
shr ebp, 0x1f
or eax, ebp
shl esi, 1
dec edx
mov ebp, esi
cmp eax, 0x100000
jb 0x448631
jmp 0x44862a
call fcn.0045e080
jmp fcn.00447fe0