Function at 0x1004c800
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
push edi
mov edi, dword [0x1017bfd8]
mov eax, dword [edi + 0x19c8]
cmp eax, 1
jg 0x1004c827
cmp byte [edi + 2], 0
jne 0x1004cec1
test eax, eax
jle 0x1004cec1
mov esi, dword [edi + 0x19e4]
cmp dword [esi + 0x1bc], 0
je 0x1004c843
call fcn.10051a40
call fcn.10046ea0
mov eax, dword [esi + 8]
and eax, 0x21000000
cmp eax, 0x1000000
jne 0x1004cdbc
mov eax, dword [esi]
mov ebx, dword [0x1017bfd8]
test eax, eax
je 0x1004c88b
movss xmm2, dword [ebx + 0x1900]
push ecx
push 0
push eax
push ecx
mov ecx, dword [ebx + 0x18fc]
lea eax, [esp + 0x28]
mov dword [esp], 0xbf800000
push eax
call fcn.1005fe90
test ebx, ebx
je 0x1004cec1
mov ecx, dword [ebx + 0x94]
cmp dword [ecx + 0x34], 1
jle 0x1004cec1
mov ecx, dword [ecx + 0x3c]
mov ecx, dword [ecx + 4]
call fcn.1004d170
mov ebx, dword [esi + 0x274]
lea eax, [esp + 0x20]
push eax
call fcn.10027a70
movss xmm1, dword [0x10145040]
mov edx, eax
xorps xmm0, xmm0
movss xmm2, dword [edx]
comiss xmm0, xmm2
jbe 0x1004c8d9
xorps xmm2, xmm2
jmp 0x1004c8dd
minss xmm2, xmm1
movss xmm3, dword [0x10145264]
movss xmm4, dword [0x10144fec]
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si ecx, xmm2
movss xmm2, dword [edx + 4]
comiss xmm0, xmm2
jbe 0x1004c908
xorps xmm2, xmm2
jmp 0x1004c90c
minss xmm2, xmm1
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si eax, xmm2
movss xmm2, dword [edx + 8]
shl eax, 8
or ecx, eax
comiss xmm0, xmm2
jbe 0x1004c92c
xorps xmm2, xmm2
jmp 0x1004c930
minss xmm2, xmm1
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si eax, xmm2
movss xmm2, dword [edx + 0xc]
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm2
jbe 0x1004c950
xorps xmm2, xmm2
jmp 0x1004c954
minss xmm2, xmm1
movss xmm1, dword [esi + 0xc]
mulss xmm2, xmm3
movaps xmm0, xmm1
push 0
addss xmm0, dword [esi + 0x14]
push ecx
addss xmm2, xmm4
mov dword [esp], 0
movss dword [esp + 0x20], xmm1
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esi + 0x10]
cvttss2si eax, xmm2
movss dword [esp + 0x1c], xmm0
subss xmm0, dword [0x10145144]
shl eax, 0x18
or eax, ecx
mov ecx, ebx
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x28]
movss dword [esp + 0x2c], xmm0
push eax
call fcn.1005cad0
movss xmm4, dword [edi + 0x1500]
xorps xmm0, xmm0
mulss xmm4, dword [0x10144fdc]
movss xmm2, dword [0x10145264]
movss xmm3, dword [0x10144fec]
comiss xmm0, xmm4
jbe 0x1004c9e2
xor eax, eax
xorps xmm4, xmm4
jmp 0x1004ca04
movaps xmm0, xmm4
minss xmm0, dword [0x10145040]
minss xmm4, dword [0x10145040]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x18
movss xmm1, dword [esi + 0xc]
mov ecx, dword [esi + 0x274]
movaps xmm0, xmm1
addss xmm0, dword [esi + 0x14]
mulss xmm4, xmm2
push eax
push 0
push 0
addss xmm4, xmm3
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esi + 0x10]
movss dword [esp + 0x28], xmm0
subss xmm0, dword [0x10145144]
movss dword [esp + 0x1c], xmm1
cvttss2si eax, xmm4
movss dword [esp + 0x20], xmm0
shl eax, 0x18
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.1005cc30
movss xmm3, dword [edi + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm3
movss xmm2, dword [0x10145040]
jbe 0x1004ca7d
xorps xmm3, xmm3
jmp 0x1004ca81
minss xmm3, xmm2
mulss xmm3, dword [0x10145264]
push ecx
movss xmm1, dword [esi + 0xc]
mov ecx, dword [esi + 0x274]
movaps xmm0, xmm1
addss xmm3, dword [0x10144fec]
addss xmm0, dword [esi + 0x14]
mov dword [esp], 0x3f800000
subss xmm1, xmm2
cvttss2si eax, xmm3
addss xmm0, xmm2
movss dword [esp + 0x14], xmm1
shl eax, 0x18
or eax, 0xf0f0f
push eax
lea eax, [esp + 0x20]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esi + 0x10]
subss xmm0, dword [0x10145148]
push eax
lea eax, [esp + 0x1c]
push eax
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x24], xmm0
call fcn.1005c900
movss xmm4, dword [edi + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm4
movss xmm3, dword [0x10145040]
jbe 0x1004cb12
xorps xmm4, xmm4
jmp 0x1004cb16
minss xmm4, xmm3
mulss xmm4, dword [0x10145264]
push ecx
movss xmm1, dword [esi + 0x10]
movss xmm2, dword [esi + 0xc]
movaps xmm0, xmm1
addss xmm4, dword [0x10144fec]
addss xmm0, dword [esi + 0x18]
subss xmm1, dword [0x10145148]
mov ecx, dword [esi + 0x274]
subss xmm2, xmm3
mov dword [esp], 0x3f800000
cvttss2si eax, xmm4
addss xmm0, xmm3
movss dword [esp + 0x18], xmm1
shl eax, 0x18
or eax, 0xf0f0f
movss dword [esp + 0x1c], xmm2
push eax
lea eax, [esp + 0x20]
movss dword [esp + 0x18], xmm2
push eax
lea eax, [esp + 0x1c]
movss dword [esp + 0x28], xmm0
push eax
call fcn.1005c900
movss xmm4, dword [edi + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm4
movss xmm3, dword [0x10145040]
jbe 0x1004cba7
xorps xmm4, xmm4
jmp 0x1004cbab
minss xmm4, xmm3
mulss xmm4, dword [0x10145264]
push ecx
movss xmm1, dword [esi + 0x10]
movss xmm2, dword [esi + 0x14]
movaps xmm0, xmm1
addss xmm4, dword [0x10144fec]
addss xmm0, dword [esi + 0x18]
addss xmm2, dword [esi + 0xc]
subss xmm1, dword [0x10145148]
mov ecx, dword [esi + 0x274]
cvttss2si eax, xmm4
mov dword [esp], 0x3f800000
addss xmm0, xmm3
movss dword [esp + 0x1c], xmm2
shl eax, 0x18
or eax, 0xf0f0f
movss dword [esp + 0x14], xmm2
push eax
lea eax, [esp + 0x20]
movss dword [esp + 0x1c], xmm1
push eax
lea eax, [esp + 0x1c]
movss dword [esp + 0x28], xmm0
push eax
call fcn.1005c900
movss xmm3, dword [edi + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm3
movss xmm2, dword [0x10145040]
jbe 0x1004cc3d
xorps xmm3, xmm3
jmp 0x1004cc41
minss xmm3, xmm2
movss xmm1, dword [esi + 0xc]
mulss xmm3, dword [0x10145264]
movaps xmm0, xmm1
push ecx
addss xmm0, dword [esi + 0x14]
mov ecx, dword [esi + 0x274]
subss xmm1, xmm2
addss xmm3, dword [0x10144fec]
mov dword [esp], 0x3f800000
addss xmm0, xmm2
movss dword [esp + 0x14], xmm1
cvttss2si eax, xmm3
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [esi + 0x10]
shl eax, 0x18
or eax, 0xf0f0f
push eax
lea eax, [esp + 0x20]
addss xmm0, xmm2
push eax
lea eax, [esp + 0x1c]
push eax
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x24], xmm0
call fcn.1005c900
movss xmm2, dword [edi + 0x1500]
xorps xmm1, xmm1
comiss xmm1, xmm2
jbe 0x1004cccb
xorps xmm2, xmm2
jmp 0x1004ccd3
minss xmm2, dword [0x10145040]
mulss xmm2, dword [0x10145264]
push 0
movss xmm0, dword [esi + 0xc]
addss xmm0, dword [0x10145110]
addss xmm2, dword [0x10144fec]
push ecx
mov ecx, dword [esi + 0x274]
mov dword [esp], 0
push 0
push dword [esi]
cvttss2si eax, xmm2
movss dword [esp + 0x28], xmm0
xorps xmm2, xmm2
movss xmm0, dword [esi + 0x10]
subss xmm0, dword [0x10145140]
shl eax, 0x18
push eax
lea eax, [esp + 0x2c]
push eax
push 0
movss dword [esp + 0x38], xmm0
call fcn.1005cec0
movss xmm2, dword [edi + 0x1500]
xorps xmm1, xmm1
comiss xmm1, xmm2
jbe 0x1004cd49
xorps xmm2, xmm2
jmp 0x1004cd51
minss xmm2, dword [0x10145040]
mulss xmm2, dword [0x10145264]
push 0
movss xmm0, dword [esi + 0xc]
addss xmm0, dword [0x10145108]
addss xmm2, dword [0x10144fec]
push ecx
mov ecx, dword [esi + 0x274]
mov dword [esp], 0
push 0
push dword [esi]
cvttss2si eax, xmm2
movss dword [esp + 0x28], xmm0
xorps xmm2, xmm2
movss xmm0, dword [esi + 0x10]
subss xmm0, dword [0x10145144]
shl eax, 0x18
or eax, 0xcdcdcd
push eax
lea eax, [esp + 0x2c]
push eax
push 0
movss dword [esp + 0x38], xmm0
call fcn.1005cec0
call fcn.1004d2b0
test dword [esi + 8], 0x1000000
jne 0x1004cdca
call fcn.100527a0
mov eax, dword [edi + 0x19c8]
test eax, eax
jle 0x1004cec1
dec eax
mov dword [edi + 0x19c8], eax
test dword [esi + 8], 0x4000000
je 0x1004cdfd
mov eax, dword [edi + 0x1a7c]
test eax, eax
jle 0x1004cec1
dec eax
mov dword [edi + 0x1a7c], eax
movsx eax, word [esi + 0x1a4]
lea ecx, [esi + 0x1a4]
mov edx, dword [0x1017bfd8]
cmp eax, dword [esi + 0x1c0]
jne 0x1004cec1
movsx eax, word [ecx + 2]
cmp eax, dword [esi + 0x198]
jne 0x1004cec1
movsx eax, word [ecx + 4]
cmp eax, dword [edx + 0x1a7c]
jne 0x1004cec1
movsx eax, word [ecx + 6]
cmp eax, dword [edx + 0x1a4c]
jl 0x1004cec1
movsx eax, word [ecx + 8]
cmp eax, dword [edx + 0x1a58]
jl 0x1004cec1
movsx eax, word [ecx + 0xa]
add ecx, 0xa
cmp eax, dword [edx + 0x1a64]
jl 0x1004cec1
lea eax, [esi + 0x1ae]
cmp ecx, eax
jne 0x1004cec1
mov ecx, dword [edi + 0x19c8]
test ecx, ecx
jne 0x1004ce84
mov dword [edx + 0x19e4], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jle 0x1004cec1
mov eax, dword [edi + 0x19d0]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x19e4], eax
test eax, eax
je 0x1004ce7d
movss xmm0, dword [eax + 0x26c]
mulss xmm0, dword [edx + 0x1904]
pop edi
pop esi
pop ebx
movss dword [edx + 0x1914], xmm0
movss dword [edx + 0x1900], xmm0
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3