Function at 0x449570
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 0x449bd0
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 0x4495e3
mov edx, dword [esp + 0x94]
test edx, edx
xchg ebp, ebx
setne bl
xchg ebp, ebx
test eax, eax
xchg esi, ebx
setne bl
xchg esi, ebx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4495da
mov ecx, edx
mov ebp, 0xfffffc02
jmp 0x449bc7
mov ecx, edx
xor ebp, ebp
jmp 0x449bb0
cmp edx, 0x7ff
jne 0x449622
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 0x449617
mov ecx, ebp
xor esi, esi
mov edi, 1
jmp 0x449641
mov ecx, ebp
mov esi, 1
xor edi, edi
jmp 0x449641
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 0x4496a4
mov ebp, dword [esp + 0x9c]
test ebp, ebp
setne al
test edx, edx
xchg esi, ebx
setne bl
xchg esi, ebx
or eax, esi
test al, al
je 0x44969b
mov eax, ebp
mov esi, 0xfffffc02
jmp 0x449ba6
mov eax, ebp
xor esi, esi
jmp 0x449b80
cmp ebp, 0x7ff
jne 0x449744
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 0x44970a
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 0x449793
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 0x449793
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 0x4497a4
movzx edi, byte [esp + 0x24]
xchg edi, eax
test al, al
xchg edi, eax
je 0x4497c1
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 0x449832
movzx ebp, byte [esp + 0x25]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x449810
cmp edi, ebx
jne 0x4497f3
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x449814
mov dword [esp + 0xa8], 0x7ff80000
mov dword [esp + 0xa4], 0
add esp, 0x90
ret
xchg esi, eax
test al, al
xchg esi, eax
je 0x449837
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 0x449b5d
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 0x4498eb
mov ebp, dword [esp + 0x50]
test ebp, ebp
sete al
test edx, edx
sete dl
and edx, eax
test dl, dl
je 0x4498ab
test ebx, ebx
je 0x4498a5
test edi, edi
jne 0x449889
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x4498af
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 0x4498af
xchg esi, eax
test al, al
xchg esi, eax
je 0x4498e3
test dl, dl
je 0x4498c0
mov eax, dword [esp + 0xa0]
xor eax, edi
jmp 0x4498c7
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 0x449b41
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
cmp ebx, esi
jg 0x44993e
jne 0x44995a
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 0x449950
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 0x449976
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 0x449aa7
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 0x449adb
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 0x449adb
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 0x449af5
xor ebx, ebx
jmp 0x449af9
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.00449230
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 eax, dword [esp + 0x3c]
mov dword [esp + 0x34], ebp
mov ebp, esi
movzx esi, byte [esp + 0x26]
jmp 0x449769
mov dword [esp + 0x34], ebp
shl edx, 1
shr ebp, 0x1f
or edx, ebp
mov ebp, dword [esp + 0x34]
shl ebp, 1
dec esi
cmp edx, 0x100000
jb 0x449b94
jmp 0x449b80
mov ecx, edx
mov edx, ebp
jmp 0x449634
shl eax, 1
mov esi, edx
shr edx, 0x1f
or eax, edx
shl esi, 1
dec ebp
mov edx, esi
cmp eax, 0x100000
jb 0x449bb9
jmp 0x449bb0
call fcn.0045f7f0
jmp fcn.00449570