Function at 0x447e00
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 0x448468
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 0x447e72
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 0x447e6b
add edx, 0xfffffc02
mov ecx, ebp
jmp 0x44845f
mov ecx, ebp
jmp 0x44844a
cmp edx, 0x7ff
jne 0x447eb1
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 0x447ea6
mov ecx, ebp
xor esi, esi
mov edi, 1
jmp 0x447ed0
mov ecx, ebp
mov esi, 1
xor edi, edi
jmp 0x447ed0
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 0x447f34
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 0x447f2d
lea ebx, [ebp - 0x3fe]
mov ebp, eax
jmp 0x448437
mov ebx, eax
jmp 0x448410
cmp ebp, 0x7ff
jne 0x447fd4
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 0x447f9a
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 0x448023
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 0x448023
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 0x448034
movzx edi, byte [esp + 0x24]
xchg edi, eax
test al, al
xchg edi, eax
je 0x448051
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 0x4480c2
movzx ebp, byte [esp + 0x25]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4480a0
cmp edi, ebx
jne 0x448083
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x4480a4
mov dword [esp + 0xa8], 0x7ff80000
mov dword [esp + 0xa4], 0
add esp, 0x90
ret
xchg esi, eax
test al, al
xchg esi, eax
je 0x4480c7
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 0x4483ed
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 0x44817b
mov ebp, dword [esp + 0x50]
test ebp, ebp
sete al
test edx, edx
sete dl
and edx, eax
test dl, dl
je 0x44813b
test ebx, ebx
je 0x448135
test edi, edi
jne 0x448119
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x44813f
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 0x44813f
xchg esi, eax
test al, al
xchg esi, eax
je 0x448173
test dl, dl
je 0x448150
mov eax, dword [esp + 0xa0]
xor eax, edi
jmp 0x448157
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 0x4483d1
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
cmp ebx, esi
jg 0x4481ce
jne 0x4481ea
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 0x4481e0
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 0x448206
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 0x448337
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 0x44836b
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 0x44836b
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 0x448385
xor ebx, ebx
jmp 0x448389
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.00447ac0
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 0x447ff9
shl edx, 1
mov esi, eax
shr eax, 0x1f
or edx, eax
shl esi, 1
dec ebx
mov eax, esi
cmp edx, 0x100000
jb 0x448429
mov ebp, ebx
mov ebx, dword [esp + 0x9c]
jmp 0x448410
mov ecx, ebp
jmp 0x447ec3
shl eax, 1
mov esi, ebp
shr ebp, 0x1f
or eax, ebp
shl esi, 1
dec edx
mov ebp, esi
cmp eax, 0x100000
jb 0x448451
jmp 0x44844a
call fcn.0045daa0
jmp fcn.00447e00