Function at 0x49d110
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 0x49dd6e
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.0049b720
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.0049b720
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
cmp dword [esp + 0xc], ecx
jne 0x49d1cb
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 0x49d1dd
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.0049a960
mov eax, dword [esp + 0xc]
cmp eax, 0x11
ja 0x49d5df
cmp eax, 0xc
ja 0x49d46c
cmp eax, 1
je 0x49d3d4
lea ecx, [eax - 2]
cmp ecx, 4
jbe 0x49d309
cmp eax, 7
jb 0x49dad3
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.0049b8f0
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.0049b8f0
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 0x49d2f7
cmp ebp, ebx
seta bl
cmp ecx, eax
seta al
and ebx, edx
or eax, ebx
test al, al
je 0x49d2e5
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.0049a4c0
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.0049a4c0
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 0x49d3c2
cmp esi, ebp
seta bl
cmp ecx, eax
setg al
and ebx, edx
or eax, ebx
test al, al
je 0x49d3b0
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.00498da0
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.00498da0
movzx eax, byte [esp + 0x23]
cmp byte [esp + 0xc], al
je 0x49d45a
test al, al
je 0x49d448
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 0x49d55b
lea ecx, [eax - 0xf]
cmp ecx, 1
jbe 0x49d48d
cmp eax, 0x11
jne 0x49dad3
xor eax, eax
jmp 0x49dc5d
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.00499d60
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.00499d60
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.0049de60
mov eax, dword [esp + 0x10]
test eax, eax
je 0x49d52d
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.0049de60
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.0049a190
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.0049a190
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x6c]
movsd qword [esp], xmm1
movsd qword [esp + 8], xmm0
call fcn.0049de60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xac], eax
add esp, 0x90
ret
cmp eax, 0x16
ja 0x49d926
cmp eax, 0x12
je 0x49d82b
cmp eax, 0x14
je 0x49d604
cmp eax, 0x16
je 0x49d944
jmp 0x49dad3
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.0049dd80
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test al, al
jne 0x49d81d
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.00499e30
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.0049b720
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x49d6ab
mov eax, dword [eax + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0049ba80
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.00499e30
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.0049b720
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x49d725
mov eax, dword [eax + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0049ba80
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.0049d110
mov eax, dword [esp + 0x18]
test eax, eax
je 0x49d781
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.00499e30
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.00499e30
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.0049d110
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.0049dd80
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test al, al
jne 0x49d918
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.0049b150
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.0049b150
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
ja 0x49d906
jae 0x49d8f4
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 0x49d9da
cmp eax, 0x19
jne 0x49d93b
xor eax, eax
jmp 0x49db45
cmp eax, 0x1a
jne 0x49dad3
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.0049b150
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.0049b150
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
ja 0x49d9c8
jae 0x49d9b6
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.0049b5d0
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.0049b5d0
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 0x49dac1
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 0x49daaf
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, [0x50f939]
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, [0x4f38a0]
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.0049b110
mov eax, dword [esp + 0x28]
cmp dword [esp + 0xc], eax
jle 0x49dc44
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.0049a010
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.0049a010
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.0049d110
mov eax, dword [esp + 0x18]
test eax, eax
je 0x49db3e
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.0049a9a0
mov eax, dword [esp + 0x24]
cmp dword [esp + 0xc], eax
jle 0x49dd5c
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.0049a250
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.0049a250
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.0049d110
mov eax, dword [esp + 0x18]
test eax, eax
je 0x49dc56
mov dword [esp + 0xac], eax
add esp, 0x90
ret
mov dword [esp + 0xac], 0
add esp, 0x90
ret
call fcn.00467570
jmp fcn.0049d110