Function at 0x448050
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 0x4486b8
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 0x4480c2
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 0x4480bb
add edx, 0xfffffc02
mov ecx, ebp
jmp 0x4486af
mov ecx, ebp
jmp 0x44869a
cmp edx, 0x7ff
jne 0x448101
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 0x4480f6
mov ecx, ebp
xor esi, esi
mov edi, 1
jmp 0x448120
mov ecx, ebp
mov esi, 1
xor edi, edi
jmp 0x448120
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 0x448184
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 0x44817d
lea ebx, [ebp - 0x3fe]
mov ebp, eax
jmp 0x448687
mov ebx, eax
jmp 0x448660
cmp ebp, 0x7ff
jne 0x448224
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 0x4481ea
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 0x448273
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 0x448273
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 0x448284
movzx edi, byte [esp + 0x24]
xchg edi, eax
test al, al
xchg edi, eax
je 0x4482a1
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 0x448312
movzx ebp, byte [esp + 0x25]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4482f0
cmp edi, ebx
jne 0x4482d3
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x4482f4
mov dword [esp + 0xa8], 0x7ff80000
mov dword [esp + 0xa4], 0
add esp, 0x90
ret
xchg esi, eax
test al, al
xchg esi, eax
je 0x448317
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 0x44863d
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 0x4483cb
mov ebp, dword [esp + 0x50]
test ebp, ebp
sete al
test edx, edx
sete dl
and edx, eax
test dl, dl
je 0x44838b
test ebx, ebx
je 0x448385
test edi, edi
jne 0x448369
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x44838f
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 0x44838f
xchg esi, eax
test al, al
xchg esi, eax
je 0x4483c3
test dl, dl
je 0x4483a0
mov eax, dword [esp + 0xa0]
xor eax, edi
jmp 0x4483a7
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 0x448621
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
cmp ebx, esi
jg 0x44841e
jne 0x44843a
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 0x448430
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 0x448456
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 0x448587
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 0x4485bb
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 0x4485bb
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 0x4485d5
xor ebx, ebx
jmp 0x4485d9
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.00447d10
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 0x448249
shl edx, 1
mov esi, eax
shr eax, 0x1f
or edx, eax
shl esi, 1
dec ebx
mov eax, esi
cmp edx, 0x100000
jb 0x448679
mov ebp, ebx
mov ebx, dword [esp + 0x9c]
jmp 0x448660
mov ecx, ebp
jmp 0x448113
shl eax, 1
mov esi, ebp
shr ebp, 0x1f
or eax, ebp
shl esi, 1
dec edx
mov ebp, esi
cmp eax, 0x100000
jb 0x4486a1
jmp 0x44869a
call fcn.0045dcf0
jmp fcn.00448050