Function at 0x4948cb
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c9660
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x503298]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x1c], ebx
call fcn.00463127
mov edx, dword [eax]
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call dword [edx + 0x38]
and dword [esp + 0x60], 0
lea edi, [ebx + 4]
push edi
lea ecx, [esp + 0x18]
call fcn.004474cd
mov esi, eax
lea eax, [ebx + 0x74]
push eax
lea ecx, [esp + 0x18]
call fcn.004474cd
mov edx, eax
cmp edx, esi
lea ecx, [esp + 0x14]
cmovl edx, esi
call fcn.00447290
movd xmm1, edx
cvtdq2ps xmm1, xmm1
push ecx
mulss xmm0, xmm1
push ecx
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.004aa544
fstp qword [esp + 0x34]
movsd xmm0, qword [esp + 0x34]
cvtpd2ps xmm0, xmm0
pop ecx
pop ecx
mov ecx, ebx
cvttss2si esi, xmm0
call fcn.00461c68
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea esi, [esi*2 + 0x12c]
mulss xmm0, dword [0x4ee3c4]
lea ecx, [esp + 0x34]
cvttss2si eax, xmm0
cmp eax, esi
cmovl esi, eax
and dword [esp + 0x18], 0
call fcn.00446410
lea ecx, [esp + 0x14]
mov byte [esp + 0x60], 1
call fcn.00447290
mulss xmm0, dword [0x4ee404]
lea eax, [esp + 0x24]
push eax
movaps xmm2, xmm0
call fcn.00447298
lea ecx, [esp + 0x28]
push ecx
mov ecx, eax
mov byte [esp + 0x64], 2
call fcn.0044741e
push eax
push edi
lea ecx, [esp + 0x3c]
mov byte [esp + 0x68], 3
call fcn.00446455
lea ecx, [esp + 0x28]
call fcn.0041740f
lea ecx, [esp + 0x24]
mov byte [esp + 0x60], 1
call fcn.0041740f
lea edi, [ebx + 0x74]
push 0
mov ecx, edi
call fcn.004042e9
test eax, eax
je 0x494a3e
push edi
mov edx, 0x4e8170
lea ecx, [esp + 0x2c]
call fcn.0040bd1a
lea ecx, [esp + 0x14]
push ecx
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x68], 4
call fcn.00446455
lea ecx, [esp + 0x28]
mov byte [esp + 0x60], 1
call fcn.0040b44b
push 0
push 0x1001810
lea eax, [esp + 0x34]
push eax
mov ecx, ebx
call fcn.0046321f
push eax
lea ecx, [esp + 0x38]
call fcn.0044654b
cmp dword [ebx + 0x8c], 0
lea eax, [esp + 0x28]
mov dword [esp + 0x20], 0x50
lea ecx, [esp + 0x34]
push eax
jne 0x494a9a
mov dword [esp + 0x2c], 0xc
call fcn.004464ff
movd xmm2, esi
cvtdq2ps xmm2, xmm2
lea eax, [esp + 0x34]
lea edi, [ebx + 0x78]
push eax
mov ecx, edi
call fcn.004499c5
jmp 0x494ac4
mov dword [esp + 0x2c], 9
call fcn.004464ff
movd xmm2, esi
cvtdq2ps xmm2, xmm2
lea eax, [esp + 0x34]
lea edi, [ebx + 0x78]
push eax
mov ecx, edi
call fcn.004499c5
push 0x50
pop eax
mov dword [esp + 0x18], eax
cvttss2si eax, dword [ebx + 0x84]
mov ecx, dword [esp + 0x18]
add ecx, 0x28
add eax, ecx
mov esi, 0x15e
cmp eax, esi
mov ecx, ebx
cmovg esi, eax
call fcn.00461c68
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov ecx, edi
mulss xmm0, dword [0x4ee3c4]
cvttss2si eax, xmm0
cmp eax, esi
cmovl esi, eax
call fcn.00448e4a
mov eax, dword [ebx + 0xe4]
cvttss2si ecx, xmm0
push 0x28
pop edi
add ecx, edi
mov dword [esp + 0x28], ecx
test eax, eax
jle 0x494b3e
mov edx, dword [ebx + 0xdc]
mov ecx, eax
mov eax, dword [edx]
add edi, 0x10
mov eax, dword [eax + 0x18]
add edi, eax
lea edx, [edx + 4]
dec ecx
jne 0x494b24
mov ecx, dword [esp + 0x28]
mov eax, dword [ebx + 0xe4]
cmp edi, esi
cmovl edi, esi
mov esi, dword [ebx + 0x108]
add esi, dword [ebx + 0xfc]
add esi, dword [ebx + 0xf0]
imul esi, esi, 0x32
add esi, ecx
mov dword [esp + 0x18], esi
test eax, eax
jle 0x494b76
mov eax, dword [ebx + 0xdc]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
add eax, 0x14
add esi, eax
mov dword [esp + 0x18], esi
mov ecx, dword [ebx + 0x114]
dec ecx
js 0x494bcf
mov eax, dword [ebx + 0x10c]
mov ebx, ecx
lea eax, [eax + ecx*4]
mov dword [esp + 0x18], eax
mov ecx, dword [eax]
push 0
mov eax, dword [ecx + 0x18]
imul eax, eax, 0x64
cdq
idiv dword [esp + 0x24]
cmp edi, eax
cmovl edi, eax
mov eax, dword [ecx + 0x1c]
add eax, 0xa
add ecx, 4
add esi, eax
call fcn.004042e9
test eax, eax
je 0x494bb9
add esi, 0x12
mov eax, dword [esp + 0x18]
sub eax, 4
dec ebx
mov dword [esp + 0x18], eax
jns 0x494b8e
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
mov ecx, dword [ebx + 0x120]
dec ecx
js 0x494bf4
mov eax, dword [ebx + 0x118]
lea edx, [eax + ecx*4]
mov eax, dword [edx]
lea edx, [edx - 4]
mov eax, dword [eax + 0x140]
cmp edi, eax
cmovl edi, eax
dec ecx
jns 0x494be1
mov ecx, ebx
call fcn.00461c68
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4ee3c4]
cvttss2si eax, xmm0
cmp eax, edi
cmovl edi, eax
mov eax, dword [ebx + 0x120]
dec eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], eax
js 0x494c69
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov edi, eax
mulss xmm0, dword [0x4ee3d0]
cvttss2si ecx, xmm0
mov dword [esp + 0x20], ecx
mov eax, dword [ebx + 0x118]
push ecx
mov esi, dword [eax + edi*4]
mov ecx, esi
call fcn.00494672
mov eax, dword [esi + 0x1c]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
add esi, 0xa
add esi, eax
dec edi
mov dword [esp + 0x18], esi
jns 0x494c3d
mov edi, dword [esp + 0x2c]
mov ecx, ebx
call fcn.00461c8c
add eax, 0xffffffce
cmp esi, eax
cmovl eax, esi
cmp byte [ebp + 8], 0
mov dword [esp + 0x18], eax
je 0x494c94
cmp edi, dword [ebx + 0x18]
cmovl edi, dword [ebx + 0x18]
cmp eax, dword [ebx + 0x1c]
cmovl eax, dword [ebx + 0x1c]
mov dword [esp + 0x18], eax
test byte [ebx + 0x60], 2
push eax
push edi
jne 0x494caf
push dword [ebx + 0x148]
mov ecx, ebx
call fcn.00497ec1
mov esi, dword [esp + 0x18]
jmp 0x494ce8
mov eax, dword [ebx + 0x1c]
mov esi, dword [esp + 0x20]
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov eax, esi
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
add ecx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x18]
cdq
push ecx
sub eax, edx
mov ecx, eax
mov eax, edi
cdq
sar ecx, 1
sub eax, edx
sar eax, 1
sub ecx, eax
add ecx, dword [ebx + 0x10]
push ecx
mov ecx, ebx
call fcn.00461e47
push 0xa
pop eax
mov dword [ebx + 0xcc], eax
mov dword [ebx + 0xd0], eax
lea eax, [edi - 0x14]
mov dword [ebx + 0xd4], eax
lea eax, [esi - 0xa]
mov dword [ebx + 0xd8], eax
mov ecx, dword [ebx + 0xe4]
dec ecx
push 0xfffffffffffffff0
pop esi
js 0x494d2e
mov eax, dword [ebx + 0xdc]
lea edx, [eax + ecx*4]
mov eax, dword [edx]
add esi, 0x10
mov eax, dword [eax + 0x18]
add esi, eax
dec ecx
lea edx, [edx - 4]
jns 0x494d1e
movd xmm0, dword [ebx + 0x1c]
cvtdq2ps xmm0, xmm0
sub edi, esi
mulss xmm0, dword [0x4ee3f0]
mov eax, edi
cdq
sub eax, edx
mov edx, eax
cvttss2si eax, xmm0
xor ecx, ecx
sar edx, 1
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
cmp dword [ebx + 0xe4], ecx
jle 0x494dc2
mov eax, dword [ebx + 0xdc]
movss xmm1, dword [0x4ee3f0]
mov edi, dword [eax + ecx*4]
mov ecx, ebx
call fcn.00461c42
mov esi, eax
sub esi, dword [edi + 0x1c]
mov ecx, edi
push esi
push edx
call fcn.0046206c
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
cmp esi, eax
cmovl eax, esi
add ecx, 0x10
add ecx, dword [edi + 0x18]
push 0
mov dword [esp + 0x1c], ecx
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.00461996
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, dword [ebx + 0xe4]
jl 0x494d63
xor ecx, ecx
mov dword [esp + 0x24], ecx
cmp dword [ebx + 0x12c], ecx
jle 0x494f5b
mov esi, dword [esp + 0x28]
mov eax, dword [ebx + 0x124]
push 0
mov edi, dword [eax + ecx*4]
push 0x5077bc
push 0x50490c
push 0
push edi
mov dword [esp + 0x3c], 0x16
call fcn.004c02be
mov ecx, dword [ebx + 0xfc]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0xf4]
mov edx, eax
add esp, 0x14
lea ecx, [edx + ecx*4]
jmp 0x494e26
mov ebx, dword [esp + 0x2c]
cmp ebx, dword [edx]
mov ebx, dword [esp + 0x1c]
je 0x494e7b
add edx, 4
cmp edx, ecx
jne 0x494e17
or edx, 0xffffffff
test edx, edx
js 0x494e4d
push 0
push edx
lea ecx, [ebx + 0x13c]
call fcn.0040d003
mov ecx, eax
call fcn.004042e9
test eax, eax
je 0x494e4d
add esi, 0x12
push 0
push 0x50649c
push 0x50490c
push 0
push edi
call fcn.004c02be
mov ecx, dword [ebx + 0xf0]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0xe8]
mov edx, eax
add esp, 0x14
lea ecx, [edx + ecx*4]
jmp 0x494e91
sub edx, eax
sar edx, 2
jmp 0x494e2d
mov ebx, dword [esp + 0x2c]
cmp ebx, dword [edx]
mov ebx, dword [esp + 0x1c]
je 0x494eee
add edx, 4
cmp edx, ecx
jne 0x494e82
or edx, 0xffffffff
test edx, edx
js 0x494eb8
push 0
push edx
lea ecx, [ebx + 0x130]
call fcn.0040d003
mov ecx, eax
call fcn.004042e9
test eax, eax
je 0x494eb8
add esi, 0x12
push edi
lea ecx, [ebx + 0x10c]
call fcn.00416e9a
test al, al
je 0x494ef5
push 0
lea ecx, [edi + 4]
call fcn.004042e9
test eax, eax
je 0x494ed9
add esi, 0x12
movss xmm1, dword [0x4ee368]
push esi
mov ecx, ebx
call fcn.00461c1c
jmp 0x494fa4
sub edx, eax
sar edx, 2
jmp 0x494e98
mov ecx, dword [ebx + 0x118]
mov eax, dword [ebx + 0x120]
lea eax, [ecx + eax*4]
jmp 0x494f11
cmp edi, dword [ecx]
je 0x494f98
add ecx, 4
cmp ecx, eax
jne 0x494f06
movss xmm1, dword [0x4ee3d0]
push 0x16
mov ecx, ebx
call fcn.00461c1c
movss xmm1, dword [0x4ee368]
push eax
push esi
call fcn.00461c1c
push eax
mov ecx, edi
call fcn.00461e47
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add esi, 0xa
add esi, eax
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, dword [ebx + 0x12c]
jl 0x494dd8
mov ecx, ebx
call fcn.004626c0
neg eax
sbb al, al
inc al
movzx eax, al
push eax
call fcn.00463fda
lea ecx, [esp + 0x34]
call fcn.00446437
lea ecx, [esp + 0x14]
call fcn.0041740f
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0x18]
sub eax, dword [edi + 0x18]
push esi
cdq
sub eax, edx
sar eax, 1
push eax
mov ecx, edi
call fcn.0046206c
mov eax, dword [edi + 0x1c]
jmp 0x494f41