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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc8
mov eax, dword [0x4ba040]
xor eax, esp
mov dword [esp + 0xc4], eax
push esi
mov esi, dword [0x4bead0]
push edi
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 0xc]
mov eax, dword [esi + 0x3f8c]
mov dword [esp + 0x38], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x64], ecx
mov byte [eax + 0xb0], 1
mov edi, dword [esi + 0x3f8c]
mov dword [esp + 0x60], edx
cmp byte [edi + 0xb3], 0
je 0x48b82a
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xc4]
xor ecx, esp
call fcn.0049c694
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x3c]
mov ecx, eax
shr ecx, 1
and cl, 1
mov dword [esp + 0x5c], ecx
jne 0x48b86e
test eax, 0x400
jne 0x48b86e
movss xmm0, dword [esi + 0x38e4]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [edi + 0x130]
minss xmm0, dword [esi + 0x38e8]
movss dword [esp + 0x8c], xmm0
jmp 0x48b888
mov eax, dword [esi + 0x38e4]
mov ecx, dword [esi + 0x38e8]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
lea eax, [esp + 0x88]
movss xmm7, dword [eax + 4]
mov dword [esp + 0x48], eax
movss dword [esp + 0x40], xmm7
test edx, edx
jne 0x48b8ca
mov edx, dword [esp + 0x64]
mov dword [esp + 0x60], edx
cmp edx, 0xffffffff
jae 0x48b8ca
nop
mov cl, byte [edx]
test cl, cl
je 0x48b8c6
cmp cl, 0x23
jne 0x48b8c0
cmp byte [edx + 1], cl
je 0x48b8c6
inc edx
cmp edx, 0xffffffff
jb 0x48b8b0
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x64]
movss xmm1, dword [esi + 0x3cf4]
cmp eax, edx
jne 0x48b8df
xorps xmm5, xmm5
jmp 0x48b934
movss xmm3, dword [0x4b6c90]
movaps xmm2, xmm1
push 0
push edx
push eax
push ecx
mov ecx, dword [esi + 0x3cf0]
lea eax, [esp + 0x90]
mov dword [esp], 0xbf800000
push eax
call fcn.004667b0
movss xmm0, dword [esp + 0x80]
addss xmm0, dword [0x4b6abc]
movss xmm1, dword [esp + 0x84]
movss xmm7, dword [esp + 0x40]
cvttss2si eax, xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
movss xmm0, dword [esi + 0x38e8]
movss xmm3, dword [esi + 0x3cf4]
addss xmm0, xmm0
movss xmm4, dword [edi + 0x124]
mov eax, dword [esp + 0x3c]
movss dword [esp + 0x70], xmm1
movss dword [esp + 0x6c], xmm5
addss xmm0, xmm3
minss xmm4, xmm0
movaps xmm0, xmm7
addss xmm0, xmm7
addss xmm0, xmm1
maxss xmm4, xmm0
test eax, 0x2000
je 0x48b9b2
cmp dword [esi + 0x4ce0], 0
je 0x48b9b2
movss xmm0, dword [edi + 0xfc]
movss xmm2, dword [edi + 0x20c]
movaps xmm6, xmm0
movss xmm1, dword [edi + 0x214]
mov byte [esp + 0x17], 1
movss dword [esp + 0x94], xmm0
jmp 0x48b9ec
movss xmm0, dword [edi + 0xfc]
mov byte [esp + 0x17], 0
movaps xmm6, xmm0
movss dword [esp + 0x94], xmm0
test eax, 0x1000
je 0x48b9dc
movss xmm2, dword [edi + 0x1fc]
jmp 0x48b9e4
movss xmm2, dword [edi + 0xf8]
movss xmm1, dword [edi + 0x204]
cmp byte [esp + 0x5c], 0
addss xmm0, xmm4
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x90], xmm2
movss dword [esp + 0x98], xmm1
movss dword [esp + 0x50], xmm1
movss dword [esp + 0x9c], xmm0
je 0x48ba86
movss xmm1, dword [edi + 0x48]
mulss xmm1, dword [0x4b6a7c]
movaps xmm0, xmm1
subss xmm0, dword [0x4b6ac4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm1
subss xmm2, xmm0
movd xmm0, eax
mov eax, dword [esp + 0x48]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x20], xmm2
addss xmm0, dword [esp + 0x50]
movss dword [esp + 0x90], xmm2
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x98], xmm0
movss xmm0, dword [eax]
mulss xmm0, dword [0x4b6b5c]
jmp 0x48ba92
mov eax, dword [esp + 0x48]
movss xmm0, dword [eax]
addss xmm0, xmm0
movaps xmm2, xmm3
movaps xmm1, xmm7
maxss xmm1, dword [edi + 0x130]
addss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm5, xmm0
movss dword [esp + 0x4c], xmm2
jbe 0x48babe
movss xmm0, dword [eax]
addss xmm0, xmm0
addss xmm0, xmm5
addss xmm3, xmm0
movss dword [esp + 0x84], xmm4
movaps xmm0, xmm2
addss xmm6, xmm1
addss xmm0, dword [edi + 0xf8]
movaps xmm1, xmm7
lea ecx, [esp + 0x80]
movss dword [esp + 0x40], xmm3
movss dword [esp + 0x78], xmm6
movss dword [esp + 0x74], xmm0
movss dword [esp + 0x80], xmm3
call fcn.00416490
cmp byte [esp + 0x5c], 0
movaps xmm0, xmmword [esp + 0x90]
mov ecx, dword [esp + 0x3c]
movaps xmmword [esp + 0xb0], xmm0
jne 0x48bb4c
test ecx, 0x3800
jne 0x48bb4c
movss xmm0, dword [esi + 0x38f4]
movss xmm1, dword [esp + 0x40]
addss xmm0, xmm0
addss xmm1, dword [esp + 0x20]
addss xmm1, xmm0
movss dword [esp + 0xb8], xmm1
cmp byte [esp + 0x17], 0
movss xmm0, dword [edi + 0x21c]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [edi + 0x224]
movss dword [esp + 0x68], xmm0
je 0x48bb87
mov eax, dword [edi + 0x20c]
mov dword [edi + 0x21c], eax
mov eax, dword [edi + 0x214]
mov dword [edi + 0x224], eax
test ecx, 0x100
je 0x48bb99
mov byte [esp + 0x1c], 1
jmp 0x48bc7e
mov eax, dword [0x4bead0]
mov dword [esp + 0x20], eax
test byte [eax + 0x48e8], 2
mov edx, dword [eax + 0x3f8c]
mov dword [esp + 0x18], edx
mov edx, dword [edx + 0x194]
je 0x48bc28
test byte [eax + 0x4904], 1
je 0x48bbe7
mov cl, byte [eax + 0x4900]
xor eax, eax
test cl, cl
mov dword [esp + 0x1c], ecx
mov ecx, edx
setne al
push eax
push dword [esp + 0x3c]
call fcn.00404a80
mov ecx, dword [esp + 0x1c]
jmp 0x48bc45
push 0xffffffffffffffff
push dword [esp + 0x3c]
mov ecx, edx
call fcn.004049b0
cmp eax, 0xffffffff
jne 0x48bc3c
mov ecx, dword [esp + 0x20]
xor eax, eax
mov cl, byte [ecx + 0x4900]
test cl, cl
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
setne al
push eax
push dword [esp + 0x3c]
mov ecx, dword [ecx + 0x194]
call fcn.00404a80
mov ecx, dword [esp + 0x1c]
jmp 0x48bc45
mov eax, ecx
mov ecx, edx
shr eax, 5
and eax, 1
push eax
push dword [esp + 0x3c]
call fcn.004049b0
test eax, eax
setne cl
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x20]
cmp byte [edx + 0x5e24], 0
je 0x48bc7e
test byte [esp + 0x3c], 0x10
jne 0x48bc7e
mov eax, dword [esp + 0x18]
movzx ecx, cl
mov eax, dword [eax + 0x180]
sub eax, dword [edx + 0x5e4c]
cmp eax, dword [edx + 0x5e50]
mov eax, 1
cmovl ecx, eax
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0xb0]
push 0
push 0
call fcn.004161a0
or dword [esi + 0x4910], 2
add esp, 8
cmp byte [esp + 0x17], 0
movaps xmm0, xmmword [esp + 0x90]
mov byte [esp + 0x37], al
movups xmmword [esi + 0x4934], xmm0
je 0x48bcd2
movss xmm0, dword [esp + 0x40]
movss dword [edi + 0x21c], xmm0
movss xmm0, dword [esp + 0x68]
movss dword [edi + 0x224], xmm0
mov ecx, dword [esp + 0x1c]
test cl, cl
je 0x48beb5
cmp byte [esi + 0x4a90], 0
jne 0x48beb5
mov eax, dword [esp + 0x3c]
and eax, 0x4008
cmp eax, 0x4000
jne 0x48beb5
cmp dword [esi + 0x4ae0], 0
jne 0x48beb5
cmp dword [esi + 0x4a38], edi
jne 0x48beb5
mov eax, dword [0x4bead0]
cmp byte [eax + 0x4ad1], 0
je 0x48beba
cmp dword [eax + 0x4b1c], 0
jne 0x48beba
cmp dword [eax + 0x4b8c], 0
jne 0x48beba
mov eax, dword [esi + 0x4a20]
mov ecx, dword [esi + 0x4a24]
inc eax
mov dword [esp + 0x20], eax
cmp eax, ecx
jle 0x48be67
test ecx, ecx
je 0x48bd6c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x48bd71
mov eax, 8
mov edx, dword [esp + 0x20]
cmp eax, edx
cmovg edx, eax
mov dword [esp + 0x80], edx
cmp edx, ecx
jle 0x48be63
lea ecx, [edx + edx*2]
shl ecx, 3
call fcn.004099a0
mov edx, dword [esi + 0x4a28]
mov dword [esp + 0xa8], eax
test edx, edx
je 0x48be50
mov ecx, dword [esi + 0x4a20]
lea ecx, [ecx + ecx*2]
shl ecx, 3
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esi + 0x4a28]
add esp, 0xc
mov dword [esp + 0x40], edx
test edx, edx
je 0x48be3f
mov ecx, dword [0x4bead0]
test ecx, ecx
je 0x48be3f
mov eax, dword [ecx + 0x3f08]
mov dword [esp + 0x18], eax
movsx eax, word [ecx + 0x5ee4]
mov edx, dword [esp + 0x18]
add eax, 0xbdd
cmp dword [ecx + eax*8], edx
mov edx, dword [esp + 0x40]
lea eax, [ecx + eax*8]
je 0x48be35
movsx eax, word [ecx + 0x5ee4]
inc eax
mov dword [esp + 0x68], 6
cdq
idiv dword [esp + 0x68]
movzx eax, dx
mov edx, dword [esp + 0x18]
mov word [ecx + 0x5ee4], ax
cwde
add eax, 0xbdd
lea eax, [ecx + eax*8]
mov dword [eax], edx
xor edx, edx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x40]
inc word [eax + 6]
inc dword [ecx + 0x5ee0]
push edx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [esp + 0xac]
add esp, 4
mov dword [esi + 0x4a28], eax
mov eax, dword [esp + 0x80]
mov dword [esi + 0x4a24], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x4a20], eax
lea edx, [eax + eax*2]
mov ecx, dword [esi + 0x4a28]
mov eax, dword [esp + 0x38]
mov dword [ecx + edx*8 - 0x18], eax
mov eax, dword [esi + 0x490c]
mov dword [ecx + edx*8 - 0x14], eax
movups xmm0, xmmword [esi + 0x4924]
movups xmmword [ecx + edx*8 - 0x10], xmm0
mov ecx, dword [edi + 0x184]
mov eax, dword [edi + 0x180]
bts ecx, eax
mov al, byte [esp + 0x17]
mov dword [edi + 0x184], ecx
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x17], al
mov eax, dword [0x4bead0]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x20], edx
shr dword [esp + 0x20], 8
and byte [esp + 0x20], 1
cmp byte [esp + 0x37], 0
jne 0x48bf4c
test cl, cl
je 0x48bf36
test dl, 8
jne 0x48bf36
mov edx, dword [eax + 0x3f8c]
mov eax, edx
mov byte [eax + 0xb0], 1
mov eax, dword [0x4bead0]
mov ecx, dword [eax + 0x3f8c]
movss xmm0, dword [eax + 0x3914]
addss xmm0, dword [ecx + 0x13c]
movss dword [ecx + 0x13c], xmm0
addss xmm0, dword [ecx + 0x18]
addss xmm0, dword [ecx + 0x140]
movss dword [ecx + 0xf8], xmm0
mov ecx, dword [esp + 0x38]
inc dword [edx + 0x180]
call fcn.00413a10
mov ecx, dword [esp + 0x1c]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0xc4]
xor ecx, esp
call fcn.0049c694
mov esp, ebp
pop ebp
ret
cmp byte [esp + 0x17], 0
je 0x48bf74
call fcn.0046f3d0
or dword [esi + 0x4910], 0x200
movups xmm0, xmmword [edi + 0x21c]
mov edx, dword [esp + 0x3c]
movups xmmword [esi + 0x4944], xmm0
xor ecx, ecx
test dl, 4
jne 0x48bf87
test dword [esi + 0x490c], 0x200
je 0x48bf8c
mov ecx, 0x1000
movss xmm1, dword [esp + 0x74]
mov eax, ecx
subss xmm1, dword [esp + 0x4c]
movss xmm2, dword [esi + 0x390c]
or eax, 0x200
cmp byte [esp + 0x20], 0
movss xmm3, dword [esi + 0xe00]
cmovne eax, ecx
movaps xmm0, xmm1
subss xmm0, xmm2
comiss xmm3, xmm0
jb 0x48bfe8
mov ecx, dword [esp + 0x48]
movss xmm0, dword [ecx]
addss xmm0, xmm0
addss xmm0, dword [esi + 0x3cf4]
addss xmm0, xmm1
addss xmm0, xmm2
comiss xmm0, xmm3
jbe 0x48bfe8
mov cl, 1
jmp 0x48bfea
xor cl, cl
mov byte [esp + 0x37], cl
cmp edi, dword [esi + 0x3f90]
jne 0x48bffa
test cl, cl
jne 0x48c003
or eax, 0x10000
test cl, cl
je 0x48c008
or eax, 0x10
jmp 0x48c017
test dl, 0x40
je 0x48c014
or eax, 0x120
jmp 0x48c017
or eax, 0x20
push eax
lea eax, [esp + 0x83]
and dl, 1
push eax
lea eax, [esp + 0x86]
mov byte [esp + 0x4f], dl
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0xb8]
push eax
call fcn.00476bb0
xor cl, cl
add esp, 0xc
mov dword [esp + 0x18], ecx
cmp byte [esp + 0x20], cl
jne 0x48c1bd
test al, al
je 0x48c0c8
mov edx, dword [esp + 0x38]
cmp dword [esi + 0x4cb0], edx
je 0x48c0b1
mov eax, dword [esp + 0x3c]
test al, 0xc0
je 0x48c072
cmp dword [esi + 0x4a50], edx
jne 0x48c07b
mov ecx, 1
mov dword [esp + 0x18], ecx
test al, al
jns 0x48c09b
cmp byte [esp + 0x37], 0
je 0x48c093
cmp byte [esi + 0x4a93], 0
jne 0x48c093
mov dl, 1
jmp 0x48c095
xor dl, dl
or cl, dl
mov dword [esp + 0x18], ecx
test al, 0x40
je 0x48c0c8
cmp word [esi + 0x382a], 2
mov edx, dword [esp + 0x1c]
jne 0x48c0cc
mov al, 1
jmp 0x48c0d0
mov edx, dword [esp + 0x1c]
mov eax, 1
test dl, dl
movzx ecx, cl
cmove ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x48c0cc
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
cmp dword [esi + 0x4a3c], ecx
jne 0x48c136
cmp dword [esi + 0x4ae0], 0
jne 0x48c136
mov ecx, dword [0x4bead0]
test dl, dl
je 0x48c13c
mov eax, dword [ecx + 0x4a38]
mov ecx, dword [ecx + 0x4a80]
mov byte [esp + 0x18], 1
mov eax, dword [eax + 0x318]
mov dword [eax + ecx*8 + 0x34c], 0x7f7fffff
mov ecx, dword [0x4bead0]
cmp byte [ecx + 0x4a95], 0
mov word [ecx + 0x4ad0], 0
setne al
mov byte [ecx + 0x4a94], al
mov eax, dword [esp + 0x18]
jmp 0x48c13c
mov ecx, dword [0x4bead0]
mov edx, dword [esp + 0x38]
cmp dword [esi + 0x4a3c], edx
mov edx, dword [esp + 0x1c]
jne 0x48c196
cmp dword [esi + 0x4ae0], 1
jne 0x48c196
test dl, dl
jne 0x48c196
mov eax, dword [ecx + 0x4a38]
mov ecx, dword [ecx + 0x4a80]
mov eax, dword [eax + 0x318]
mov dword [eax + ecx*8 + 0x34c], 0x7f7fffff
mov ecx, dword [0x4bead0]
cmp byte [ecx + 0x4a95], dl
mov word [ecx + 0x4ad0], 0
setne al
mov byte [ecx + 0x4a94], al
jmp 0x48c19a
test al, al
je 0x48c1bd
mov ecx, dword [edi + 0x194]
test dl, dl
sete al
mov dword [esp + 0x1c], eax
movzx eax, al
push eax
push dword [esp + 0x3c]
call fcn.00404a80
or dword [esi + 0x4910], 0x10
movss xmm7, dword [0x4b6ac4]
xor ecx, ecx
movaps xmm1, xmm7
call fcn.00405c00
cmp byte [esp + 0x5c], 0
mov dword [esp + 0x18], eax
je 0x48c3ed
cmp byte [esp + 0x7f], 0
mov al, byte [esp + 0x7e]
je 0x48c1f4
test al, al
je 0x48c1f4
mov ecx, 0x1a
jmp 0x48c1fe
xor ecx, ecx
test al, al
setne cl
add ecx, 0x18
push dword [esp + 0x9c]
movaps xmm1, xmm7
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.00405c00
movss xmm2, dword [esi + 0x38ec]
mov dl, 1
mov ecx, eax
call fcn.00406c80
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0xa0]
push 2
call fcn.00406fe0
mov ecx, dword [esp + 0x50]
add esp, 0x14
test ecx, 0x200
je 0x48c306
test dword [esp + 0x18], 0xff000000
movss xmm0, dword [esp + 0x4c]
mulss xmm0, dword [0x4b6a84]
mov edi, dword [edi + 0x270]
movss xmm1, dword [esp + 0x74]
movss xmm3, dword [0x4b6a7c]
subss xmm1, xmm0
movss xmm0, dword [esi + 0x3cf4]
mov eax, dword [edi + 0x2c]
mulss xmm0, xmm3
movss xmm2, dword [eax + 0xc]
addss xmm0, dword [esp + 0x78]
mulss xmm2, dword [0x4b6a50]
movss dword [esp + 0x88], xmm1
movss dword [esp + 0x8c], xmm0
je 0x48c397
comiss xmm3, xmm2
ja 0x48c397
push 7
push ecx
lea eax, [esp + 0x90]
mov dword [esp], 0x40afede0
push eax
xorps xmm3, xmm3
mov ecx, edi
call fcn.00460ca0
push dword [esp + 0x18]
mov ecx, edi
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.00460500
mov ecx, dword [esp + 0x3c]
mov dword [edi + 0x54], 0
jmp 0x48c397
cmp byte [esp + 0x20], 0
movss xmm0, dword [esp + 0x74]
mov eax, dword [esp + 0x48]
jne 0x48c383
cmp byte [esp + 0x1c], 0
subss xmm0, dword [esp + 0x4c]
addss xmm0, dword [eax]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x78]
movss dword [esp + 0x84], xmm0
je 0x48c34f
mov eax, ecx
shr eax, 0x15
not eax
and eax, 1
or eax, 2
jmp 0x48c354
mov eax, 1
push dword [esp + 0x84]
movss xmm3, dword [0x4b6ac4]
push dword [esp + 0x84]
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 0x270]
push eax
call fcn.00467080
mov ecx, dword [esp + 0x48]
add esp, 0xc
jmp 0x48c397
movss xmm1, dword [esp + 0x4c]
subss xmm1, dword [eax]
subss xmm0, xmm1
movss dword [esp + 0x74], xmm0
test ecx, 0x100000
je 0x48c3c2
movss xmm0, dword [esi + 0x3cf4]
addss xmm0, dword [esi + 0x38e4]
movss xmm1, dword [esp + 0x50]
subss xmm1, xmm0
movss dword [esp + 0x98], xmm1
cmp byte [esi + 0x5e24], 0
je 0x48c610
mov eax, dword [0x4bead0]
mov dword [eax + 0x5e3c], 0x4a06a4
mov dword [eax + 0x5e40], 0x4a06a4
jmp 0x48c610
mov cl, byte [esp + 0x7e]
test cl, cl
jne 0x48c3ff
cmp byte [esp + 0x47], cl
je 0x48c498
cmp byte [esp + 0x7f], 0
je 0x48c414
test cl, cl
je 0x48c414
mov dword [esp + 0x40], 0x1a
jmp 0x48c422
xor eax, eax
test cl, cl
setne al
add eax, 0x18
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x9c]
movaps xmm1, xmm7
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov dword [esp + 0x84], ecx
mov ecx, dword [0x4bead0]
push 0
push ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xb4], edx
mov edx, dword [ecx + 0x3f8c]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xb0], eax
mov dword [esp], 0
call fcn.00405c00
mov ecx, dword [edx + 0x270]
push eax
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.004620b0
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x90]
push 2
call fcn.00406fe0
mov ecx, dword [esp + 0x40]
add esp, 4
test ecx, 0x200
je 0x48c563
test dword [esp + 0x18], 0xff000000
movss xmm0, dword [esp + 0x4c]
movss xmm3, dword [0x4b6a7c]
movss xmm1, dword [esp + 0x74]
mov edi, dword [edi + 0x270]
mulss xmm0, xmm3
mov eax, dword [edi + 0x2c]
subss xmm1, xmm0
movss xmm0, dword [esi + 0x3cf4]
mulss xmm0, xmm3
movss xmm2, dword [eax + 0xc]
mulss xmm2, dword [0x4b6a50]
addss xmm0, dword [esp + 0x78]
movss dword [esp + 0x88], xmm1
movss dword [esp + 0x8c], xmm0
je 0x48c5ee
comiss xmm3, xmm2
ja 0x48c5ee
push 7
push ecx
lea eax, [esp + 0x90]
mov dword [esp], 0x40afede0
push eax
xorps xmm3, xmm3
mov ecx, edi
call fcn.00460ca0
push dword [esp + 0x18]
mov ecx, edi
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.00460500
mov dword [edi + 0x54], 0
jmp 0x48c5ee
cmp byte [esp + 0x20], 0
jne 0x48c5ee
cmp byte [esp + 0x1c], 0
movss xmm1, dword [esp + 0x74]
movss xmm0, dword [esi + 0x3cf4]
subss xmm1, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mulss xmm0, dword [0x4b6a48]
addss xmm1, dword [eax]
addss xmm0, dword [esp + 0x78]
movss dword [esp + 0x80], xmm1
movss dword [esp + 0x84], xmm0
je 0x48c5c0
mov eax, ecx
shr eax, 0x15
not eax
and eax, 1
or eax, 2
jmp 0x48c5c5
mov eax, 1
push dword [esp + 0x84]
movss xmm3, dword [0x4b6a90]
push dword [esp + 0x84]
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 0x270]
push eax
call fcn.00467080
add esp, 0xc
cmp byte [esi + 0x5e24], 0
je 0x48c610
mov eax, dword [0x4bead0]
mov dword [eax + 0x5e3c], 0x4a1fec
mov dword [eax + 0x5e40], 0
cmp byte [esp + 0x17], 0
je 0x48c61c
call fcn.0046f490
cmp byte [esp + 0x5c], 0
mov ecx, dword [esp + 0x64]
je 0x48c669
push 0
lea eax, [esp + 0x8c]
mov dword [esp + 0x8c], 0
push eax
lea eax, [esp + 0x74]
mov dword [esp + 0x94], 0
push eax
push dword [esp + 0x6c]
lea edx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x88]
call fcn.00406450
add esp, 0x14
jmp 0x48c67f
push dword [esp + 0x78]
mov edx, dword [esp + 0x64]
push dword [esp + 0x78]
push 0
call fcn.00406320
add esp, 0xc
mov eax, dword [esp + 0x1c]
test al, al
je 0x48c6e9
test byte [esp + 0x3c], 8
jne 0x48c6e9
mov ecx, dword [0x4bead0]
mov edx, dword [ecx + 0x3f8c]
mov eax, edx
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [ecx + 0x3914]
mov ecx, dword [esp + 0x38]
addss xmm0, dword [eax + 0x13c]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
inc dword [edx + 0x180]
call fcn.00413a10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
xor ecx, esp
call fcn.0049c694
mov esp, ebp
pop ebp
ret