Function at 0x49e050
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 0x49ecae
sub esp, 0x90
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 8], edx
call fcn.0049c530
mov eax, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x7c], ebx
mov ebp, dword [esp + 0xa0]
mov dword [esp], ebp
mov esi, dword [esp + 0xa4]
mov dword [esp + 4], esi
mov edi, dword [esp + 0xa8]
mov dword [esp + 8], edi
call fcn.0049c530
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
cmp dword [esp + 0xc], ecx
jne 0x49e10b
mov dword [esp], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00404230
movzx eax, byte [esp + 0xc]
test al, al
jne 0x49e11d
mov dword [esp + 0xac], 0xffffffff
add esp, 0x90
ret
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 8], edx
call fcn.0049b770
mov eax, dword [esp + 0xc]
cmp eax, 0x11
ja 0x49e51f
cmp eax, 0xc
ja 0x49e3ac
cmp eax, 1
je 0x49e314
lea ecx, [eax - 2]
cmp ecx, 4
jbe 0x49e249
cmp eax, 7
jb 0x49ea13
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.0049c700
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.0049c700
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
cmp ecx, eax
sete dl
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x38]
cmp ebp, ebx
xchg esi, ebx
setb bl
xchg esi, ebx
cmp ecx, eax
xchg edi, ebx
setb bl
xchg edi, ebx
and esi, edx
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
jne 0x49e237
cmp ebp, ebx
seta bl
cmp ecx, eax
seta al
and ebx, edx
or eax, ebx
test al, al
je 0x49e225
mov dword [esp + 0xac], 1
add esp, 0x90
ret
mov dword [esp + 0xac], 0
add esp, 0x90
ret
mov dword [esp + 0xac], 0xffffffff
add esp, 0x90
ret
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.0049b2d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.0049b2d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
cmp ecx, eax
sete dl
setl bl
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x3c]
cmp esi, ebp
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, edx
or ebx, edi
test bl, bl
jne 0x49e302
cmp esi, ebp
seta bl
cmp ecx, eax
setg al
and ebx, edx
or eax, ebx
test al, al
je 0x49e2f0
mov dword [esp + 0xac], 1
add esp, 0x90
ret
mov dword [esp + 0xac], 0
add esp, 0x90
ret
mov dword [esp + 0xac], 0xffffffff
add esp, 0x90
ret
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.00499bb0
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x23], al
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
call fcn.00499bb0
movzx eax, byte [esp + 0x23]
cmp byte [esp + 0xc], al
je 0x49e39a
test al, al
je 0x49e388
mov dword [esp + 0xac], 1
add esp, 0x90
ret
mov dword [esp + 0xac], 0xffffffff
add esp, 0x90
ret
mov dword [esp + 0xac], 0
add esp, 0x90
ret
cmp eax, 0xe
jbe 0x49e49b
lea ecx, [eax - 0xf]
cmp ecx, 1
jbe 0x49e3cd
cmp eax, 0x11
jne 0x49ea13
xor eax, eax
jmp 0x49eb9d
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.0049ab70
movsd xmm0, qword [esp + 0xc]
movsd qword [esp + 0x5c], xmm0
movsd xmm1, qword [esp + 0x14]
movsd qword [esp + 0x64], xmm1
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.0049ab70
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x14]
movsd qword [esp + 0x54], xmm1
movsd xmm2, qword [esp + 0x5c]
movsd qword [esp], xmm2
movsd qword [esp + 8], xmm0
call fcn.0049eda0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x49e46d
mov dword [esp + 0xac], eax
add esp, 0x90
ret
movsd xmm0, qword [esp + 0x64]
movsd qword [esp], xmm0
movsd xmm0, qword [esp + 0x54]
movsd qword [esp + 8], xmm0
call fcn.0049eda0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xac], eax
add esp, 0x90
ret
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.0049afa0
movsd xmm0, qword [esp + 0xc]
movsd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.0049afa0
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x6c]
movsd qword [esp], xmm1
movsd qword [esp + 8], xmm0
call fcn.0049eda0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xac], eax
add esp, 0x90
ret
cmp eax, 0x16
ja 0x49e866
cmp eax, 0x12
je 0x49e76b
cmp eax, 0x14
je 0x49e544
cmp eax, 0x16
je 0x49e884
jmp 0x49ea13
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0xa8]
mov dword [esp + 0x14], esi
call fcn.0049ecc0
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test al, al
jne 0x49e75d
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 8], edx
call fcn.0049ac40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0049c530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x49e5eb
mov eax, dword [eax + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0049c890
mov eax, dword [esp + 8]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0xa0]
mov dword [esp], ebx
mov ebp, dword [esp + 0xa4]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xa8]
mov dword [esp + 8], esi
call fcn.0049ac40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0049c530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x49e665
mov eax, dword [eax + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0049c890
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x88]
mov dword [esp], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0049e050
mov eax, dword [esp + 0x18]
test eax, eax
je 0x49e6c1
mov dword [esp + 0xac], eax
add esp, 0x90
ret
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.0049ac40
mov eax, dword [esp + 0xc]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0xa0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 8], ebx
call fcn.0049ac40
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call fcn.0049e050
mov eax, dword [esp + 0x18]
mov dword [esp + 0xac], eax
add esp, 0x90
ret
mov dword [esp + 0xac], ecx
add esp, 0x90
ret
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0xa8]
mov dword [esp + 0x14], esi
call fcn.0049ecc0
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test al, al
jne 0x49e858
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.0049bf60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
call fcn.0049bf60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
ja 0x49e846
jae 0x49e834
mov dword [esp + 0xac], 1
add esp, 0x90
ret
mov dword [esp + 0xac], 0
add esp, 0x90
ret
mov dword [esp + 0xac], 0xffffffff
add esp, 0x90
ret
mov dword [esp + 0xac], ecx
add esp, 0x90
ret
cmp eax, 0x18
je 0x49e91a
cmp eax, 0x19
jne 0x49e87b
xor eax, eax
jmp 0x49ea85
cmp eax, 0x1a
jne 0x49ea13
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.0049bf60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
call fcn.0049bf60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
ja 0x49e908
jae 0x49e8f6
mov dword [esp + 0xac], 1
add esp, 0x90
ret
mov dword [esp + 0xac], 0
add esp, 0x90
ret
mov dword [esp + 0xac], 0xffffffff
add esp, 0x90
ret
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.0049c3e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.0049c3e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004033a0
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x49ea01
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
call fcn.004033a0
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x49e9ef
mov dword [esp + 0xac], 1
add esp, 0x90
ret
mov dword [esp + 0xac], 0
add esp, 0x90
ret
mov dword [esp + 0xac], 0xffffffff
add esp, 0x90
ret
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x80]
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x516405]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x15
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004535e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a630
mov eax, dword [esp + 8]
lea ecx, [0x4f92a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043aa20
mov ecx, dword [esp + 0x28]
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov edx, dword [esp + 0x98]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 8], ebx
call fcn.0049bf20
mov eax, dword [esp + 0x28]
cmp dword [esp + 0xc], eax
jle 0x49eb84
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov edx, dword [esp + 0x98]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0049ae20
mov eax, dword [esp + 0x10]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0xa0]
mov dword [esp], ebx
mov ebp, dword [esp + 0xa4]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xa8]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0xc], edi
call fcn.0049ae20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x88]
mov dword [esp], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0049e050
mov eax, dword [esp + 0x18]
test eax, eax
je 0x49ea7e
mov dword [esp + 0xac], eax
add esp, 0x90
ret
mov dword [esp + 0xac], 0
add esp, 0x90
ret
mov ecx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov edx, dword [esp + 0x98]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 8], ebx
call fcn.0049b7b0
mov eax, dword [esp + 0x24]
cmp dword [esp + 0xc], eax
jle 0x49ec9c
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov edx, dword [esp + 0x98]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0049b060
mov eax, dword [esp + 0x10]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0xa0]
mov dword [esp], ebx
mov ebp, dword [esp + 0xa4]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xa8]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x24]
mov dword [esp + 0xc], edi
call fcn.0049b060
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x88]
mov dword [esp], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0049e050
mov eax, dword [esp + 0x18]
test eax, eax
je 0x49eb96
mov dword [esp + 0xac], eax
add esp, 0x90
ret
mov dword [esp + 0xac], 0
add esp, 0x90
ret
call fcn.00467570
jmp fcn.0049e050