Function at 0x100478e0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x11c
mov eax, dword [0x10150380]
xor eax, esp
mov dword [esp + 0x118], eax
push ebx
push esi
push edi
mov edi, dword [0x1017bfd8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov ebx, dword [edi + 0x19e4]
mov eax, dword [ebx + 8]
movss xmm4, dword [ebx + 0xc8]
and eax, 4
movss xmm5, dword [ebx + 0xcc]
or eax, 0x1000103
or dword [ebp + 0x10], eax
movss xmm3, dword [ebx + 0x218]
mov esi, dword [ebx + 0x1bc]
movss xmm2, dword [ebx + 0x214]
subss xmm4, dword [ebx + 0xc]
subss xmm5, dword [ebx + 0x10]
subss xmm3, dword [ebx + 0x10]
subss xmm2, dword [ebx + 0xc]
test esi, esi
je 0x1004799a
mov edx, dword [esi + 0xc]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
cmp edx, dword [esi + 0x2c]
jl 0x10047975
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
movss xmm2, dword [esi + 0x18]
lea ecx, [edx*8]
subss xmm2, dword [esi + 0x14]
mov eax, dword [esi + 0x34]
sub ecx, edx
mulss xmm2, dword [eax + ecx*4]
addss xmm2, dword [esi + 0x14]
subss xmm2, dword [ebx + 0x3c]
mov ecx, dword [ebp + 8]
subss xmm3, xmm5
xorps xmm5, xmm5
subss xmm2, xmm4
movss xmm4, dword [0x101450fc]
mov edx, 1
mov esi, 2
cvttss2si eax, dword [ecx]
movd xmm1, eax
cvttss2si eax, dword [ecx + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
ucomiss xmm1, xmm5
cvtdq2ps xmm0, xmm0
lahf
xor ecx, ecx
test ah, 0x44
cmovnp ecx, edx
ucomiss xmm0, xmm5
lahf
xor edx, edx
test ah, 0x44
cmovnp edx, esi
or edx, ecx
comiss xmm5, xmm1
mov dword [esp + 0x1c], edx
jb 0x100479fc
addss xmm1, xmm2
maxss xmm1, xmm4
comiss xmm5, xmm0
jb 0x10047a09
addss xmm0, xmm3
maxss xmm0, xmm4
push dword [esp + 0x18]
lea eax, [esp + 0x24]
movss dword [edi + 0x1ab4], xmm1
push 0x1014214c
push 0x100
push eax
movss dword [edi + 0x1ab8], xmm0
mov dword [edi + 0x1a8c], 1
call fcn.100421a0
movss xmm0, dword [edi + 0x152c]
add esp, 0x10
cmp byte [ebp + 0xc], 0
movss dword [esp + 0x18], xmm0
jne 0x10047a5c
mov dword [edi + 0x152c], 0
push dword [ebp + 0x10]
xor edx, edx
lea ecx, [esp + 0x24]
call fcn.10049250
mov esi, dword [edi + 0x19e4]
add esp, 4
movss xmm0, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
movss dword [edi + 0x152c], xmm0
cmp word [esi + 0x84], 1
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x9c], eax
jne 0x10047ab6
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov dword [ebx + 0xc8], ecx
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xcc], eax
mov eax, dword [ebp + 0x10]
test eax, 0x20000000
jne 0x10047af0
movss xmm0, dword [esi + 0xc8]
addss xmm0, dword [0x10145148]
movss dword [esi + 0xc8], xmm0
movss xmm0, dword [esi + 0xcc]
addss xmm0, dword [0x1014511c]
movss dword [esi + 0xcc], xmm0
cmp dword [edi + 0x1afc], ecx
jne 0x10047b39
test eax, 0x800000
jne 0x10047b39
cmp dword [esi + 0x13c], 0
jne 0x10047b11
cmp byte [esi + 0x145], 0
je 0x10047b39
mov ecx, esi
call fcn.1004ced0
xor dl, dl
mov ecx, esi
call fcn.1004f320
mov ecx, dword [esp + 0x14]
mov edx, esi
lea ecx, [ecx + 1]
call fcn.10044b00
mov dword [edi + 0x1a34], 2
mov ecx, dword [esp + 0x124]
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1010fe2d
mov esp, ebp
pop ebp
ret