Function at 0x447f60
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 0x4485c8
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 0x447fd2
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 0x447fcb
add edx, 0xfffffc02
mov ecx, ebp
jmp 0x4485bf
mov ecx, ebp
jmp 0x4485aa
cmp edx, 0x7ff
jne 0x448011
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 0x448006
mov ecx, ebp
xor esi, esi
mov edi, 1
jmp 0x448030
mov ecx, ebp
mov esi, 1
xor edi, edi
jmp 0x448030
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 0x448094
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 0x44808d
lea ebx, [ebp - 0x3fe]
mov ebp, eax
jmp 0x448597
mov ebx, eax
jmp 0x448570
cmp ebp, 0x7ff
jne 0x448134
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 0x4480fa
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 0x448183
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 0x448183
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 0x448194
movzx edi, byte [esp + 0x24]
xchg edi, eax
test al, al
xchg edi, eax
je 0x4481b1
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 0x448222
movzx ebp, byte [esp + 0x25]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x448200
cmp edi, ebx
jne 0x4481e3
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x448204
mov dword [esp + 0xa8], 0x7ff80000
mov dword [esp + 0xa4], 0
add esp, 0x90
ret
xchg esi, eax
test al, al
xchg esi, eax
je 0x448227
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 0x44854d
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 0x4482db
mov ebp, dword [esp + 0x50]
test ebp, ebp
sete al
test edx, edx
sete dl
and edx, eax
test dl, dl
je 0x44829b
test ebx, ebx
je 0x448295
test edi, edi
jne 0x448279
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x44829f
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 0x44829f
xchg esi, eax
test al, al
xchg esi, eax
je 0x4482d3
test dl, dl
je 0x4482b0
mov eax, dword [esp + 0xa0]
xor eax, edi
jmp 0x4482b7
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 0x448531
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
cmp ebx, esi
jg 0x44832e
jne 0x44834a
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 0x448340
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 0x448366
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 0x448497
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 0x4484cb
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 0x4484cb
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 0x4484e5
xor ebx, ebx
jmp 0x4484e9
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.00447c20
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 0x448159
shl edx, 1
mov esi, eax
shr eax, 0x1f
or edx, eax
shl esi, 1
dec ebx
mov eax, esi
cmp edx, 0x100000
jb 0x448589
mov ebp, ebx
mov ebx, dword [esp + 0x9c]
jmp 0x448570
mov ecx, ebp
jmp 0x448023
shl eax, 1
mov esi, ebp
shr ebp, 0x1f
or eax, ebp
shl esi, 1
dec edx
mov ebp, esi
cmp eax, 0x100000
jb 0x4485b1
jmp 0x4485aa
call fcn.0045e000
jmp fcn.00447f60