Function at 0x4980a0
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 0x498cfe
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.00496730
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.00496730
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
cmp dword [esp + 0xc], ecx
jne 0x49815b
mov dword [esp], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00404100
movzx eax, byte [esp + 0xc]
test al, al
jne 0x49816d
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.00495970
mov eax, dword [esp + 0xc]
cmp eax, 0x11
ja 0x49856f
cmp eax, 0xc
ja 0x4983fc
cmp eax, 1
je 0x498364
lea ecx, [eax - 2]
cmp ecx, 4
jbe 0x498299
cmp eax, 7
jb 0x498a63
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.00496900
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.00496900
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 0x498287
cmp ebp, ebx
seta bl
cmp ecx, eax
seta al
and ebx, edx
or eax, ebx
test al, al
je 0x498275
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.004954d0
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.004954d0
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 0x498352
cmp esi, ebp
seta bl
cmp ecx, eax
setg al
and ebx, edx
or eax, ebx
test al, al
je 0x498340
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.00493cf0
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.00493cf0
movzx eax, byte [esp + 0x23]
cmp byte [esp + 0xc], al
je 0x4983ea
test al, al
je 0x4983d8
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 0x4984eb
lea ecx, [eax - 0xf]
cmp ecx, 1
jbe 0x49841d
cmp eax, 0x11
jne 0x498a63
xor eax, eax
jmp 0x498bed
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.00494d70
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.00494d70
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.00498df0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4984bd
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.00498df0
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.004951a0
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.004951a0
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x6c]
movsd qword [esp], xmm1
movsd qword [esp + 8], xmm0
call fcn.00498df0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xac], eax
add esp, 0x90
ret
cmp eax, 0x16
ja 0x4988b6
cmp eax, 0x12
je 0x4987bb
cmp eax, 0x14
je 0x498594
cmp eax, 0x16
je 0x4988d4
jmp 0x498a63
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.00498d10
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test al, al
jne 0x4987ad
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.00494e40
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.00496730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x49863b
mov eax, dword [eax + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00496a90
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.00494e40
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.00496730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4986b5
mov eax, dword [eax + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00496a90
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.004980a0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x498711
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.00494e40
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.00494e40
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.004980a0
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.00498d10
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test al, al
jne 0x4988a8
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.00496160
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.00496160
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
ja 0x498896
jae 0x498884
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 0x49896a
cmp eax, 0x19
jne 0x4988cb
xor eax, eax
jmp 0x498ad5
cmp eax, 0x1a
jne 0x498a63
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.00496160
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.00496160
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
ja 0x498958
jae 0x498946
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.004965e0
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.004965e0
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.00403270
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x498a51
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.00403270
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x498a3f
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, [0x508758]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x15
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00450870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409f30
mov eax, dword [esp + 8]
lea ecx, [0x4ec7e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00438510
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.00496120
mov eax, dword [esp + 0x28]
cmp dword [esp + 0xc], eax
jle 0x498bd4
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.00495020
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.00495020
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.004980a0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x498ace
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.004959b0
mov eax, dword [esp + 0x24]
cmp dword [esp + 0xc], eax
jle 0x498cec
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.00495260
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.00495260
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.004980a0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x498be6
mov dword [esp + 0xac], eax
add esp, 0x90
ret
mov dword [esp + 0xac], 0
add esp, 0x90
ret
call fcn.00463e70
jmp fcn.004980a0