Function at 0x48bfa0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov dword [ebp - 0x18], ecx
mov eax, edx
mov ecx, dword [ebp + 0xc]
push ebx
push esi
mov esi, eax
mov dword [ebp - 0x20], eax
movss xmm2, dword [ecx + 4]
lea ecx, [eax + 0x757]
mov eax, dword [ebp + 0x14]
movaps xmm0, xmm2
mulss xmm2, dword [0x50d2fc]
shl ecx, 6
mulss xmm0, dword [0x50d6d4]
shl esi, 4
push edi
mov eax, dword [ecx + eax]
movss dword [ebp - 0x14], xmm0
movss dword [ebp - 0x10], xmm2
movss dword [ebp - 0x30], xmm2
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
and eax, 0x100000
jne 0x48c005
mov dword [ebp - 0x1c], 0xff3f3f3f
jmp 0x48c012
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], esi
mov eax, dword [esi + eax + 0x14]
mov dword [ebp - 0x1c], eax
mov edi, dword [ebp + 0x18]
cmp dword [edi], 0
jne 0x48c021
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
movss xmm3, dword [0x50d498]
mov dword [ebp + 0x18], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.FLOORS], 0
je 0x48c10b
cmp byte [0x50b7a5], 0
jne 0x48c059
movaps xmm1, xmm3
jmp 0x48c10e
push 0x5046d4
push str.FLOORS
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48c07d
mov ecx, str.FLOORS
call fcn.00434dd0
mov esi, eax
jmp 0x48c0d3
mov ebx, str.FLOORS
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48c0b6
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48c096
mov ecx, str.FLOORS
call fcn.00434dd0
add eax, str.FLOORS
cmp ebx, eax
je 0x48c0d0
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp + 0x18]
movss xmm3, dword [0x50d498]
movss xmm2, dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x14]
shl esi, 5
sub esi, 0x20
movd xmm1, esi
mov esi, dword [ebp - 8]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x50d268]
mulss xmm1, dword [0x50d2d8]
addss xmm1, xmm3
jmp 0x48c10e
xorps xmm1, xmm1
mov eax, dword [ebp - 0x1c]
subss xmm0, xmm1
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x14]
movss dword [ebx + 8], xmm2
movss dword [ebx + 4], xmm0
mov dword [ebx + 0xc], str.FLOORS
mov dword [ebx + 0x10], 0x3e68f5c2
mov eax, dword [ecx + eax]
and eax, 0x200000
jne 0x48c149
mov dword [ebp + 0x18], 0xff3f3f3f
jmp 0x48c153
mov eax, dword [ebp + 0x10]
mov eax, dword [esi + eax + 0x14]
mov dword [ebp + 0x18], eax
cmp dword [edi], 0
addss xmm2, xmm3
movss dword [ebp - 0x10], xmm2
jne 0x48c168
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
mov dword [ebp - 0x1c], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.BARRIERS], 0
je 0x48c242
cmp byte [0x50b7ad], 0
jne 0x48c198
movaps xmm1, xmm3
jmp 0x48c245
push 0x5046d4
push str.BARRIERS
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48c1bc
mov ecx, str.BARRIERS
call fcn.00434dd0
mov esi, eax
jmp 0x48c212
mov ebx, str.BARRIERS
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48c1f5
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48c1d5
mov ecx, str.BARRIERS
call fcn.00434dd0
add eax, str.BARRIERS
cmp ebx, eax
je 0x48c20f
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x1c]
movss xmm3, dword [0x50d498]
movss xmm2, dword [ebp - 0x10]
shl esi, 5
sub esi, 0x20
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x50d268]
mulss xmm1, dword [0x50d2d8]
addss xmm1, xmm3
jmp 0x48c245
xorps xmm1, xmm1
movss xmm0, dword [ebp - 0x14]
mov eax, dword [ebp + 0x18]
subss xmm0, xmm1
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x14]
movss dword [ebx + 8], xmm2
movss dword [ebx + 4], xmm0
mov dword [ebx + 0xc], str.BARRIERS
mov dword [ebx + 0x10], 0x3e68f5c2
mov eax, dword [ecx + eax]
and eax, 0x400000
jne 0x48c285
mov dword [ebp + 0x18], 0xff3f3f3f
jmp 0x48c292
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp + 0x18], eax
cmp dword [edi], 0
addss xmm2, xmm3
movss dword [ebp - 0x10], xmm2
jne 0x48c2a7
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
mov dword [ebp - 0x1c], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.CORES], 0
je 0x48c381
cmp byte [0x50b7b9], 0
jne 0x48c2d7
movaps xmm1, xmm3
jmp 0x48c384
push 0x5046d4
push str.CORES
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48c2fb
mov ecx, str.CORES
call fcn.00434dd0
mov esi, eax
jmp 0x48c351
mov ebx, str.CORES
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48c334
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48c314
mov ecx, str.CORES
call fcn.00434dd0
add eax, str.CORES
cmp ebx, eax
je 0x48c34e
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x1c]
movss xmm3, dword [0x50d498]
movss xmm2, dword [ebp - 0x10]
shl esi, 5
sub esi, 0x20
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x50d268]
mulss xmm1, dword [0x50d2d8]
addss xmm1, xmm3
jmp 0x48c384
xorps xmm1, xmm1
movss xmm0, dword [ebp - 0x14]
mov eax, dword [ebp + 0x18]
subss xmm0, xmm1
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x14]
movss dword [ebx + 8], xmm2
movss dword [ebx + 4], xmm0
mov dword [ebx + 0xc], str.CORES
mov dword [ebx + 0x10], 0x3e68f5c2
mov eax, dword [ecx + eax]
and eax, 0x800000
jne 0x48c3c4
mov dword [ebp + 0x18], 0xff3f3f3f
jmp 0x48c3d1
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp + 0x18], eax
cmp dword [edi], 0
addss xmm2, xmm3
movss dword [ebp - 0x10], xmm2
jne 0x48c3e6
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
mov dword [ebp - 0x1c], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.BREACHES], 0
je 0x48c4c0
cmp byte [0x50b7c1], 0
jne 0x48c416
movaps xmm1, xmm3
jmp 0x48c4c3
push 0x5046d4
push str.BREACHES
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48c43a
mov ecx, str.BREACHES
call fcn.00434dd0
mov esi, eax
jmp 0x48c490
mov ebx, str.BREACHES
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48c473
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48c453
mov ecx, str.BREACHES
call fcn.00434dd0
add eax, str.BREACHES
cmp ebx, eax
je 0x48c48d
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x1c]
movss xmm3, dword [0x50d498]
movss xmm2, dword [ebp - 0x10]
shl esi, 5
sub esi, 0x20
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x50d268]
mulss xmm1, dword [0x50d2d8]
addss xmm1, xmm3
jmp 0x48c4c3
xorps xmm1, xmm1
movss xmm0, dword [ebp - 0x14]
mov eax, dword [ebp + 0x18]
subss xmm0, xmm1
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x14]
movss dword [ebx + 8], xmm2
movss dword [ebx + 4], xmm0
mov dword [ebx + 0xc], str.BREACHES
mov dword [ebx + 0x10], 0x3e68f5c2
mov eax, dword [ecx + eax]
and eax, 0x1000000
jne 0x48c503
mov dword [ebp + 0x18], 0xff3f3f3f
jmp 0x48c510
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp + 0x18], eax
cmp dword [edi], 0
addss xmm2, xmm3
movss dword [ebp - 0x10], xmm2
jne 0x48c525
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
push 0x5046d4
push str.SENTRIES
mov dword [ebp - 0x1c], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48c55b
mov ecx, str.SENTRIES
call fcn.00434dd0
mov esi, eax
jmp 0x48c5b1
mov ebx, str.SENTRIES
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48c594
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48c574
mov ecx, str.SENTRIES
call fcn.00434dd0
add eax, str.SENTRIES
cmp ebx, eax
je 0x48c5ae
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x1c]
movss xmm2, dword [0x50d498]
movss xmm0, dword [ebp - 0x14]
shl esi, 5
sub esi, 0x20
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x14]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mov dword [ebx + 0xc], str.SENTRIES
mov dword [ebx + 0x10], 0x3e68f5c2
mulss xmm1, dword [0x50d268]
mulss xmm1, dword [0x50d2d8]
addss xmm1, xmm2
subss xmm0, xmm1
movss dword [ebx + 4], xmm0
movss xmm0, dword [ebp - 0x10]
movss dword [ebx + 8], xmm0
mov eax, dword [ecx + eax]
and eax, 0x2000000
jne 0x48c61f
mov dword [ebp + 0x18], 0xff3f3f3f
jmp 0x48c62c
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp + 0x18], eax
cmp dword [edi], 0
addss xmm0, xmm2
movss dword [ebp - 0x10], xmm0
jne 0x48c641
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
mov dword [ebp - 0x1c], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.OVERVIEW], 0
je 0x48c714
cmp byte [0x50b7cd], 0
jne 0x48c671
movaps xmm0, xmm2
jmp 0x48c717
push 0x5046d4
push str.OVERVIEW
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48c695
mov ecx, str.OVERVIEW
call fcn.00434dd0
mov esi, eax
jmp 0x48c6ed
mov ebx, str.OVERVIEW
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48c6d0
nop
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48c6b0
mov ecx, str.OVERVIEW
call fcn.00434dd0
add eax, str.OVERVIEW
cmp ebx, eax
je 0x48c6ea
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x1c]
shl esi, 5
sub esi, 0x20
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x50d268]
mulss xmm0, dword [0x50d2d8]
addss xmm0, dword [0x50d498]
jmp 0x48c717
xorps xmm0, xmm0
movss xmm1, dword [ebp - 0x14]
mov eax, dword [ebp + 0x18]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0xc]
movss dword [ebx + 8], xmm0
movss dword [ebx + 4], xmm1
mov dword [ebx + 0xc], str.OVERVIEW
mov dword [ebx + 0x10], 0x3e68f5c2
movss xmm1, dword [eax + 4]
mov eax, dword [ebp + 0x14]
movaps xmm0, xmm1
mulss xmm0, dword [0x50d6c0]
mulss xmm1, dword [0x50d2f4]
lea ebx, [eax + 0x178]
push dword [ecx + eax + 4]
movss dword [ebp + 0x18], xmm0
push dword [ecx + eax]
movss dword [ebp - 0x1c], xmm1
call fcn.004c2ca0
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
push str._.1f
push ebx
call fcn.0042a580
mov ecx, dword [ebp + 0x10]
mov ebx, eax
mov eax, dword [ebp - 8]
add esp, 0x10
cmp dword [edi], 0
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp - 0x14], eax
jne 0x48c7b2
mov ecx, edi
call fcn.0042a520
mov esi, dword [edi + 4]
mov ecx, ebx
movss xmm1, dword [0x50d268]
lea eax, [esi + 0x18]
mov dword [edi + 4], eax
mov dword [esi], 1
call fcn.00436340
mulss xmm0, dword [0x50d2cc]
mov eax, dword [ebp - 0x14]
movss xmm1, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
subss xmm1, xmm0
mov dword [esi + 0x14], eax
mov eax, dword [ebp + 0xc]
movss xmm0, dword [ebp - 0x1c]
movss dword [esi + 8], xmm0
mov dword [esi + 0xc], ebx
movss dword [esi + 4], xmm1
mov dword [esi + 0x10], 0x3e68f5c2
movss xmm0, dword [eax + 4]
mov eax, dword [ebp - 0xc]
movaps xmm1, xmm0
mulss xmm1, dword [0x50d6b8]
mulss xmm0, dword [0x50d2f0]
mov ecx, dword [eax + edx]
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0x28], eax
mov eax, ecx
movss dword [ebp + 0x18], xmm1
movss dword [ebp - 0x1c], xmm0
and eax, 0x8000
jne 0x48c880
mov eax, ecx
and eax, 0x4000
jne 0x48c876
mov eax, ecx
and eax, 0x2000
jne 0x48c86c
and ecx, 0x1000
jne 0x48c862
movss xmm0, dword [0x50d400]
jmp 0x48c888
movss xmm0, dword [0x50d468]
jmp 0x48c888
movss xmm0, dword [0x50d49c]
jmp 0x48c888
movss xmm0, dword [0x50d4d0]
jmp 0x48c888
movss xmm0, dword [0x50d4e8]
cvtps2pd xmm0, xmm0
sub esp, 8
lea eax, [edx + 0x178]
movsd qword [esp], xmm0
push str._.1f
push eax
call fcn.0042a580
mov ecx, dword [ebp + 0x10]
mov ebx, eax
mov eax, dword [ebp - 8]
add esp, 0x10
cmp dword [edi], 0
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp - 0x14], eax
jne 0x48c8c2
mov ecx, edi
call fcn.0042a520
mov esi, dword [edi + 4]
mov ecx, ebx
movss xmm1, dword [0x50d268]
lea eax, [esi + 0x18]
mov dword [edi + 4], eax
mov dword [esi], 1
call fcn.00436340
mulss xmm0, dword [0x50d2cc]
mov eax, dword [ebp - 0x14]
movss xmm1, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
subss xmm1, xmm0
mov dword [esi + 0x14], eax
mov eax, dword [ebp + 0xc]
movss xmm0, dword [ebp - 0x1c]
movss dword [esi + 8], xmm0
mov dword [esi + 0xc], ebx
movss dword [esi + 4], xmm1
mov dword [esi + 0x10], 0x3e68f5c2
movss xmm0, dword [eax + 4]
mov eax, dword [ebp - 0xc]
movaps xmm1, xmm0
mulss xmm1, dword [0x50d6ac]
mulss xmm0, dword [0x50d2e4]
mov ecx, dword [eax + edx]
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0x28], eax
mov eax, ecx
movss dword [ebp - 0x1c], xmm1
movss dword [ebp + 0x18], xmm0
and eax, 0x800
jne 0x48c990
mov eax, ecx
and eax, 0x400
jne 0x48c986
mov eax, ecx
and eax, 0x200
jne 0x48c97c
and ecx, 0x100
jne 0x48c972
movss xmm0, dword [0x50d568]
jmp 0x48c998
movss xmm0, dword [0x50d59c]
jmp 0x48c998
movss xmm0, dword [0x50d5bc]
jmp 0x48c998
movss xmm0, dword [0x50d5d4]
jmp 0x48c998
movss xmm0, dword [0x50d5ec]
cvtps2pd xmm0, xmm0
sub esp, 8
lea eax, [edx + 0x178]
movsd qword [esp], xmm0
push str._.0f
push eax
call fcn.0042a580
mov ecx, dword [ebp + 0x10]
mov ebx, eax
mov eax, dword [ebp - 8]
add esp, 0x10
cmp dword [edi], 0
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp - 0x14], eax
jne 0x48c9d2
mov ecx, edi
call fcn.0042a520
mov esi, dword [edi + 4]
mov ecx, ebx
movss xmm1, dword [0x50d268]
lea eax, [esi + 0x18]
mov dword [edi + 4], eax
mov dword [esi], 1
call fcn.00436340
movss xmm6, dword [0x50d2cc]
movss xmm1, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
movss xmm3, dword [ebp + 0x18]
mov eax, dword [ebp - 0x14]
movss xmm7, dword [0x50d330]
mulss xmm0, xmm6
mov dword [esi + 0xc], ebx
mov ebx, dword [ebp - 0x18]
imul ecx, edx, 0xf6c
subss xmm1, xmm0
movss dword [esi + 8], xmm3
mov dword [esi + 0x10], 0x3e68f5c2
mov dword [esi + 0x14], eax
movss dword [esi + 4], xmm1
mov esi, dword [ebp + 0x14]
movss xmm2, dword [ecx + esi + 0x111c]
comiss xmm2, dword [0x50d18c]
jbe 0x48cb19
mov eax, dword [ebx + 0x426c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x50e260]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [ecx + esi + 0x1120]
addss xmm0, dword [0x50d464]
mulss xmm1, dword [0x50d1c8]
comiss xmm0, xmm1
jbe 0x48cb19
subss xmm3, dword [0x50d498]
cvtps2pd xmm0, xmm2
sub esp, 0x10
imul eax, edx, 0x70
movsd qword [esp + 8], xmm0
movss dword [ebp + 0x18], xmm3
movss xmm0, dword [eax + ebx + 0x38d4]
lea eax, [esi + 0x178]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str._05.1f_.1f
push eax
call fcn.0042a580
mov ecx, dword [ebp + 0x10]
mov ebx, eax
mov eax, dword [ebp - 8]
add esp, 0x18
cmp dword [edi], 0
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp - 0x14], eax
jne 0x48caed
mov ecx, edi
call fcn.0042a520
mov esi, dword [edi + 4]
mov ecx, ebx
movss xmm1, dword [0x50d268]
lea eax, [esi + 0x18]
mov dword [edi + 4], eax
mov dword [esi], 1
call fcn.00436340
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xc], ebx
mov dword [esi + 0x14], eax
jmp 0x48ccb9
subss xmm3, dword [0x50d498]
imul ecx, edx, 0x70
lea eax, [esi + 0x194]
push eax
movss dword [ebp + 0x18], xmm3
mov dword [ebp - 0x28], ecx
lea edx, [ecx + 0x3880]
add edx, ebx
lea ecx, [ebp - 0x44]
call fcn.00496ca0
mov ebx, eax
add esp, 4
xorps xmm1, xmm1
movss xmm0, dword [ebx]
comiss xmm0, xmm7
jb 0x48cb5d
mov dword [ebp - 0x14], 0xff
jmp 0x48cb92
comiss xmm1, xmm0
jb 0x48cb6b
mov dword [ebp - 0x14], 0
jmp 0x48cb92
mulss xmm0, dword [0x50d604]
addss xmm0, xmm6
call fcn.004ee070
movss xmm6, dword [0x50d2cc]
xorps xmm1, xmm1
movss xmm7, dword [0x50d330]
mov dword [ebp - 0x14], eax
movss xmm0, dword [ebx + 4]
comiss xmm0, xmm7
jb 0x48cba5
mov dword [ebp - 0x10], 0xff
jmp 0x48cbcf
comiss xmm1, xmm0
jb 0x48cbb3
mov dword [ebp - 0x10], 0
jmp 0x48cbcf
mulss xmm0, dword [0x50d604]
addss xmm0, xmm6
call fcn.004ee070
movss xmm7, dword [0x50d330]
mov dword [ebp - 0x10], eax
movss xmm0, dword [ebx + 8]
xorps xmm1, xmm1
comiss xmm0, xmm7
jb 0x48cbe3
mov esi, 0xff
jmp 0x48cc0e
comiss xmm1, xmm0
jb 0x48cbec
xor esi, esi
jmp 0x48cc0e
mulss xmm0, dword [0x50d604]
addss xmm0, dword [0x50d2cc]
call fcn.004ee070
movss xmm7, dword [0x50d330]
mov esi, eax
xorps xmm1, xmm1
movss xmm0, dword [ebx + 0xc]
comiss xmm0, xmm7
jb 0x48cc1f
mov ebx, 0xff
jmp 0x48cc3f
comiss xmm1, xmm0
jb 0x48cc28
xor ebx, ebx
jmp 0x48cc3f
mulss xmm0, dword [0x50d604]
addss xmm0, dword [0x50d2cc]
call fcn.004ee070
mov ebx, eax
mov eax, dword [ebp - 0x28]
sub esp, 8
mov ecx, dword [ebp - 0x18]
shl ebx, 8
or ebx, dword [ebp - 0x14]
shl ebx, 8
movss xmm0, dword [eax + ecx + 0x38d4]
or ebx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x14]
cvtps2pd xmm0, xmm0
add eax, 0x178
shl ebx, 8
or ebx, esi
movsd qword [esp], xmm0
push str._05.1f
push eax
call fcn.0042a580
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [edi], 0
jne 0x48cc92
mov ecx, edi
call fcn.0042a520
mov eax, dword [ebp - 0x14]
mov esi, dword [edi + 4]
movss xmm1, dword [0x50d268]
lea ecx, [esi + 0x18]
mov dword [edi + 4], ecx
mov ecx, eax
mov dword [esi], 1
call fcn.00436340
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xc], eax
mov dword [esi + 0x14], ebx
movss xmm2, dword [0x50d2cc]
movss xmm1, dword [ebp - 0x1c]
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0xc]
mulss xmm0, xmm2
mov dword [esi + 0x10], 0x3e68f5c2
subss xmm1, xmm0
movss xmm0, dword [ebp + 0x18]
movss dword [esi + 8], xmm0
movss dword [esi + 4], xmm1
movss xmm0, dword [eax + 4]
mov ecx, dword [ecx + ebx + 4]
movaps xmm1, xmm0
mulss xmm1, dword [0x50d2dc]
mulss xmm0, dword [0x50d2e4]
movss dword [ebp - 0x14], xmm1
movss dword [ebp - 0x34], xmm1
movss dword [ebp + 0x18], xmm0
movss dword [ebp - 0x30], xmm0
test ecx, 8
jne 0x48cf29
test ecx, 4
jne 0x48ce6b
test ecx, 2
jne 0x48cdb0
lea edx, [ebp - 0x34]
movaps xmm1, xmm2
push edi
and ecx, 1
jne 0x48cd7a
push 0xff3f3f3f
push ecx
mov dword [esp], 0x3e68f5c2
mov ecx, 1
push 0x50b8c8
call fcn.0044b580
movss xmm0, dword [ebp + 0x18]
add esp, 0x10
movss xmm2, dword [0x50d498]
jmp 0x48d02e
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp - 8]
push dword [esi + eax + 0x14]
push ecx
mov dword [esp], 0x3e68f5c2
mov ecx, 1
push 0x50b930
call fcn.0044b580
movss xmm0, dword [ebp + 0x18]
add esp, 0x10
movss xmm2, dword [0x50d498]
jmp 0x48d031
cmp dword [edi], 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp - 0x1c], eax
jne 0x48cdc9
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
push 0x5046d4
push 0x50b92c
mov dword [ebp - 0x28], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48ce09
mov ecx, 0x50b92c
call fcn.00434dd0
mov esi, eax
mov dword [ebx + 0xc], 0x50b92c
jmp 0x48cfd5
mov ebx, 0x50b92c
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48ce42
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48ce22
mov ecx, 0x50b92c
call fcn.00434dd0
add eax, 0x50b92c
cmp ebx, eax
je 0x48ce5c
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx + 0xc], 0x50b92c
jmp 0x48cfd5
cmp dword [edi], 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp - 0x1c], eax
jne 0x48ce84
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
push 0x5046d4
push 0x50b928
mov dword [ebp - 0x28], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48cec4
mov ecx, 0x50b928
call fcn.00434dd0
mov esi, eax
mov dword [ebx + 0xc], 0x50b928
jmp 0x48cfd5
mov ebx, 0x50b928
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48cf00
nop dword [eax]
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48cee0
mov ecx, 0x50b928
call fcn.00434dd0
add eax, 0x50b928
cmp ebx, eax
je 0x48cf1a
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx + 0xc], 0x50b928
jmp 0x48cfd5
cmp dword [edi], 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp - 0x1c], eax
jne 0x48cf42
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
push 0x5046d4
push str.100_
mov dword [ebp - 0x28], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48cf78
mov ecx, str.100_
call fcn.00434dd0
mov esi, eax
jmp 0x48cfce
mov ebx, str.100_
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48cfb1
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48cf91
mov ecx, str.100_
call fcn.00434dd0
add eax, str.100_
cmp ebx, eax
je 0x48cfcb
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx + 0xc], str.100_
movss xmm2, dword [0x50d498]
shl esi, 5
sub esi, 0x20
movss xmm0, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x50d268]
mulss xmm1, dword [0x50d2d8]
addss xmm1, xmm2
mulss xmm1, dword [0x50d2cc]
subss xmm0, xmm1
movss dword [ebx + 4], xmm0
movss xmm0, dword [ebp + 0x18]
movss dword [ebx + 8], xmm0
mov dword [ebx + 0x10], 0x3e68f5c2
mov dword [ebx + 0x14], eax
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x48d0bd
mov eax, dword [ebp - 0xc]
test dword [eax + ebx + 4], 0xf
je 0x48d0bd
mov eax, dword [ecx]
subss xmm0, xmm2
movss dword [ebp + 0x18], xmm0
call dword [eax + 0x2c]
cmp dword [edi], 0
mov ebx, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [esi + eax + 0x14]
mov dword [ebp + 8], eax
jne 0x48d06f
mov ecx, edi
call fcn.0042a520
mov esi, dword [edi + 4]
mov ecx, ebx
movss xmm1, dword [0x50d268]
lea eax, [esi + 0x18]
mov dword [edi + 4], eax
mov dword [esi], 1
call fcn.00436340
mulss xmm0, dword [0x50d2cc]
mov eax, dword [ebp + 8]
movss xmm1, dword [ebp - 0x14]
mov dword [esi + 0xc], ebx
subss xmm1, xmm0
mov dword [esi + 0x10], 0x3e68f5c2
movss xmm0, dword [ebp + 0x18]
movss dword [esi + 8], xmm0
mov dword [esi + 0x14], eax
movss dword [esi + 4], xmm1
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
movss xmm0, dword [eax + 4]
mov eax, dword [ebp - 0xc]
movaps xmm1, xmm0
mulss xmm1, dword [0x50d304]
mulss xmm0, dword [0x50d2f0]
mov ecx, dword [eax + ebx]
mov eax, dword [eax + ebx + 4]
mov dword [ebp - 0x28], eax
mov eax, ecx
movss dword [ebp - 0x1c], xmm1
movss dword [ebp + 0x18], xmm0
and eax, 8
jne 0x48d128
mov eax, ecx
and eax, 4
jne 0x48d121
mov eax, ecx
and eax, 2
jne 0x48d11a
and ecx, 1
jne 0x48d113
mov eax, 0x1f4
jmp 0x48d12d
mov eax, 0x258
jmp 0x48d12d
mov eax, 0x2bc
jmp 0x48d12d
mov eax, 0x320
jmp 0x48d12d
mov eax, 0x384
push eax
lea eax, [ebx + 0x178]
push 0x502f20
push eax
call fcn.0042a580
mov ecx, dword [ebp + 0x10]
mov ebx, eax
mov eax, dword [ebp - 8]
add esp, 0xc
cmp dword [edi], 0
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp + 8], eax
jne 0x48d15d
mov ecx, edi
call fcn.0042a520
mov esi, dword [edi + 4]
mov ecx, ebx
movss xmm1, dword [0x50d268]
lea eax, [esi + 0x18]
mov dword [edi + 4], eax
mov dword [esi], 1
call fcn.00436340
movss xmm3, dword [0x50d2cc]
movss xmm1, dword [ebp - 0x1c]
movss xmm2, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mulss xmm0, xmm3
mov dword [esi + 0x14], eax
movss dword [esi + 8], xmm2
mov dword [esi + 0xc], ebx
subss xmm1, xmm0
mov dword [esi + 0x10], 0x3e68f5c2
movss dword [esi + 4], xmm1
mov esi, dword [ebp - 0x20]
lea eax, [esi + 0x82]
imul eax, eax, 0x70
mov ebx, dword [eax + edx]
mov dword [ebp - 0x28], ebx
cmp ebx, 0xc8
jae 0x48d2af
mov eax, dword [0x5770e0]
mov eax, dword [eax + 0x10]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x50e260]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x50d1c8]
mulss xmm0, dword [0x50d4ac]
call fcn.004ee070
test eax, 1
jne 0x48d29f
movss xmm0, dword [ebp + 0x18]
subss xmm0, dword [0x50d498]
mov eax, dword [ebp + 0x14]
push ebx
add eax, 0x178
push str._04u
push eax
movss dword [ebp + 0x18], xmm0
call fcn.0042a580
add esp, 0xc
mov ebx, eax
cmp dword [edi], 0
jne 0x48d247
mov ecx, edi
call fcn.0042a520
mov esi, dword [edi + 4]
movss xmm1, dword [0x50d268]
lea ecx, [esi + 0x18]
mov dword [edi + 4], ecx
mov ecx, ebx
mov dword [esi], 1
call fcn.00436340
mulss xmm0, dword [0x50d2cc]
mov dword [esi + 0xc], ebx
movss xmm1, dword [ebp - 0x1c]
mov dword [esi + 0x10], 0x3e68f5c2
subss xmm1, xmm0
mov dword [esi + 0x14], 0xffff0000
movss xmm0, dword [ebp + 0x18]
movss dword [esi + 8], xmm0
movss dword [esi + 4], xmm1
imul esi, dword [ebp - 0x20], 0x70
jmp 0x48d4b8
movss xmm2, dword [ebp + 0x18]
movss xmm3, dword [0x50d2cc]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x426c]
imul ecx, esi, 0x70
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov dword [ebp - 0x14], ecx
addsd xmm0, qword [eax*8 + 0x50e260]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [0x50d274]
mulss xmm1, dword [0x50d1c8]
subss xmm1, dword [ecx + edx + 0x38d0]
comiss xmm0, xmm1
jbe 0x48d2fb
mulss xmm1, dword [0x50d464]
jmp 0x48d303
movss xmm1, dword [0x50d330]
subss xmm2, dword [0x50d498]
movss dword [ebp + 0x18], xmm2
movss xmm2, dword [0x50d330]
movaps xmm0, xmm2
subss xmm0, xmm1
shufps xmm1, xmm1, 0
mulps xmm1, xmmword [0x50e150]
shufps xmm0, xmm0, 0
mulps xmm0, xmmword [0x50e140]
addps xmm0, xmm1
xorps xmm1, xmm1
comiss xmm0, xmm2
movups xmmword [ebp - 0x44], xmm0
jb 0x48d34d
mov dword [ebp + 8], 0xff
jmp 0x48d37a
comiss xmm1, xmm0
jb 0x48d35b
mov dword [ebp + 8], 0
jmp 0x48d37a
mulss xmm0, dword [0x50d604]
addss xmm0, xmm3
call fcn.004ee070
movss xmm2, dword [0x50d330]
xorps xmm1, xmm1
mov dword [ebp + 8], eax
movss xmm0, dword [ebp - 0x40]
comiss xmm0, xmm2
jb 0x48d38d
mov dword [ebp - 0x20], 0xff
jmp 0x48d3bb
comiss xmm1, xmm0
jb 0x48d39b
mov dword [ebp - 0x20], 0
jmp 0x48d3bb
mulss xmm0, dword [0x50d604]
addss xmm0, dword [0x50d2cc]
call fcn.004ee070
movss xmm2, dword [0x50d330]
mov dword [ebp - 0x20], eax
movss xmm0, dword [ebp - 0x3c]
xorps xmm1, xmm1
comiss xmm0, xmm2
jb 0x48d3cf
mov esi, 0xff
jmp 0x48d3fa
comiss xmm1, xmm0
jb 0x48d3d8
xor esi, esi
jmp 0x48d3fa
mulss xmm0, dword [0x50d604]
addss xmm0, dword [0x50d2cc]
call fcn.004ee070
movss xmm2, dword [0x50d330]
mov esi, eax
xorps xmm1, xmm1
movss xmm0, dword [ebp - 0x38]
comiss xmm0, xmm2
jb 0x48d40b
mov ebx, 0xff
jmp 0x48d42b
comiss xmm1, xmm0
jb 0x48d414
xor ebx, ebx
jmp 0x48d42b
mulss xmm0, dword [0x50d604]
addss xmm0, dword [0x50d2cc]
call fcn.004ee070
mov ebx, eax
push dword [ebp - 0x28]
mov eax, dword [ebp + 0x14]
shl ebx, 8
add eax, 0x178
or ebx, dword [ebp + 8]
shl ebx, 8
or ebx, dword [ebp - 0x20]
push str._04u
shl ebx, 8
push eax
or ebx, esi
call fcn.0042a580
add esp, 0xc
mov dword [ebp + 8], eax
cmp dword [edi], 0
jne 0x48d467
mov ecx, edi
call fcn.0042a520
mov eax, dword [ebp + 8]
mov esi, dword [edi + 4]
movss xmm1, dword [0x50d268]
lea ecx, [esi + 0x18]
mov dword [edi + 4], ecx
mov ecx, eax
mov dword [esi], 1
call fcn.00436340
mulss xmm0, dword [0x50d2cc]
mov eax, dword [ebp + 8]
movss xmm1, dword [ebp - 0x1c]
mov dword [esi + 0xc], eax
subss xmm1, xmm0
mov dword [esi + 0x10], 0x3e68f5c2
movss xmm0, dword [ebp + 0x18]
movss dword [esi + 8], xmm0
mov dword [esi + 0x14], ebx
movss dword [esi + 4], xmm1
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x18]
mov ecx, ebx
movss xmm1, dword [eax + 4]
movaps xmm0, xmm1
lea edx, [ebx + 0x3880]
mulss xmm0, dword [0x50d318]
add edx, esi
mulss xmm1, dword [0x50d2f4]
movss dword [ebp + 0x18], xmm0
movss dword [ebp - 0x34], xmm0
movss dword [ebp + 8], xmm1
movss dword [ebp - 0x30], xmm1
call fcn.004c1020
movss xmm1, dword [0x50d580]
movaps xmm2, xmm0
comiss xmm1, xmm2
movss dword [ebp - 0x1c], xmm2
jbe 0x48d739
mov eax, dword [ebx + 0x426c]
xorps xmm1, xmm1
movss xmm3, dword [0x50d330]
xorps xmm4, xmm4
movaps xmm0, xmm3
movaps xmm2, xmm3
cvtsi2sd xmm1, eax
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x50e260]
cvtpd2ps xmm1, xmm1
mulss xmm1, dword [0x50d1c8]
subss xmm1, dword [esi + ebx + 0x389c]
addss xmm1, xmm1
subss xmm0, xmm1
xorps xmm1, xmm1
maxss xmm1, xmm0
minss xmm2, xmm1
comiss xmm2, xmm4
movss dword [ebp - 0x18], xmm2
jbe 0x48d739
comiss xmm2, xmm3
movaps xmm0, xmm2
mulss xmm0, dword [0x50d604]
movss dword [ebp - 0x20], xmm0
jb 0x48d590
mov dword [ebp - 0x14], 0xff
jmp 0x48d5b2
addss xmm0, dword [0x50d2cc]
call fcn.004ee070
movss xmm0, dword [ebp - 0x20]
movss xmm2, dword [ebp - 0x18]
movss xmm3, dword [0x50d330]
mov dword [ebp - 0x14], eax
comiss xmm2, xmm3
addss xmm0, dword [0x50d2cc]
movss dword [ebp - 0x20], xmm0
jb 0x48d5cb
mov esi, 0xff
jmp 0x48d5e4
call fcn.004ee070
movss xmm0, dword [ebp - 0x20]
mov esi, eax
movss xmm2, dword [ebp - 0x18]
movss xmm3, dword [0x50d330]
comiss xmm2, xmm3
jb 0x48d5f0
mov ebx, 0xff
jmp 0x48d5f7
call fcn.004ee070
mov ebx, eax
movss xmm0, dword [ebp - 0x1c]
sub esp, 8
mulss xmm0, dword [0x50d218]
mov eax, dword [ebp + 0x14]
shl ebx, 0x10
add eax, 0x178
or ebx, dword [ebp - 0x14]
movss dword [ebp - 0x1c], xmm0
or ebx, 0xff00
cvtps2pd xmm0, xmm0
shl ebx, 8
or ebx, esi
movsd qword [esp], xmm0
push str.MOTION
push str._____s__04.1fm____
push eax
call fcn.0042a580
add esp, 0x14
mov dword [ebp - 0x20], eax
cmp dword [edi], 0
jne 0x48d652
mov ecx, edi
call fcn.0042a520
mov eax, dword [ebp - 0x20]
mov esi, dword [edi + 4]
movss xmm1, dword [0x50d294]
lea ecx, [esi + 0x18]
mov dword [edi + 4], ecx
mov ecx, eax
mov dword [esi], 1
call fcn.00436340
mulss xmm0, dword [0x50d2cc]
xorps xmm1, xmm1
sub esp, 8
mov eax, dword [ebp - 0x20]
movss xmm2, dword [ebp - 0x1c]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x14]
subss xmm1, xmm0
movss xmm0, dword [ebp + 8]
add eax, 0x178
subss xmm0, dword [0x50d498]
mov dword [esi + 8], 0xc3073333
mov dword [esi + 0x10], 0x3ea66666
movss dword [esi + 4], xmm1
mov dword [esi + 0x14], ebx
movss dword [ebp - 0x28], xmm0
cvtps2pd xmm0, xmm2
movsd qword [esp], xmm0
push str._04.1fm
push eax
call fcn.0042a580
add esp, 0x10
mov dword [ebp - 0x20], eax
cmp dword [edi], 0
jne 0x48d6e5
mov ecx, edi
call fcn.0042a520
mov eax, dword [ebp - 0x20]
mov esi, dword [edi + 4]
movss xmm1, dword [0x50d268]
lea ecx, [esi + 0x18]
mov dword [edi + 4], ecx
mov ecx, eax
mov dword [esi], 1
call fcn.00436340
movss xmm2, dword [0x50d2cc]
movss xmm1, dword [ebp + 0x18]
mov eax, dword [ebp - 0x20]
mulss xmm0, xmm2
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0x3e68f5c2
mov dword [esi + 0x14], ebx
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x28]
movss dword [esi + 8], xmm0
movss dword [esi + 4], xmm1
jmp 0x48d741
movss xmm2, dword [0x50d2cc]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp + 0x10]
mov ecx, dword [edx + eax]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0x28], eax
mov eax, ecx
and eax, 0x80000
jne 0x48d9e0
mov eax, ecx
and eax, 0x40000
jne 0x48d8d0
mov eax, ecx
and eax, 0x20000
jne 0x48d7bc
mov ebx, dword [ebp - 8]
lea edx, [ebp - 0x34]
push edi
and ecx, 0x10000
movaps xmm1, xmm2
push dword [ebx + esi + 0x14]
push ecx
mov dword [esp], 0x3e68f5c2
lea ecx, [eax + 1]
jne 0x48d7aa
push str.DIST
call fcn.0044b580
add esp, 0x10
jmp 0x48db09
push str.DRCT
call fcn.0044b580
add esp, 0x10
jmp 0x48db09
cmp dword [edi], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + esi + 0x14]
mov dword [ebp - 0x20], eax
jne 0x48d7d2
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
mov dword [ebp - 0x28], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.SHRT], 0
je 0x48d8c1
cmp byte [0x50b7f1], 0
jne 0x48d80e
movss xmm0, dword [0x50d498]
mov dword [ebx + 0xc], str.SHRT
jmp 0x48dad9
push 0x5046d4
push str.SHRT
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48d832
mov ecx, str.SHRT
call fcn.00434dd0
mov esi, eax
jmp 0x48d88d
mov ebx, str.SHRT
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48d870
nop dword [eax + eax]
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48d850
mov ecx, str.SHRT
call fcn.00434dd0
add eax, str.SHRT
cmp ebx, eax
je 0x48d88a
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x28]
shl esi, 5
sub esi, 0x20
mov dword [ebx + 0xc], str.SHRT
movd xmm0, esi
mov esi, dword [ebp + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x50d268]
mulss xmm0, dword [0x50d2d8]
addss xmm0, dword [0x50d498]
jmp 0x48dad9
xorps xmm0, xmm0
mov dword [ebx + 0xc], str.SHRT
jmp 0x48dad9
cmp dword [edi], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + esi + 0x14]
mov dword [ebp - 0x20], eax
jne 0x48d8e6
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
mov dword [ebp - 0x28], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.LONG], 0
je 0x48d9d1
cmp byte [0x50b7e9], 0
jne 0x48d922
movss xmm0, dword [0x50d498]
mov dword [ebx + 0xc], str.LONG
jmp 0x48dad9
push 0x5046d4
push str.LONG
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48d946
mov ecx, str.LONG
call fcn.00434dd0
mov esi, eax
jmp 0x48d99d
mov ebx, str.LONG
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48d980
nop
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48d960
mov ecx, str.LONG
call fcn.00434dd0
add eax, str.LONG
cmp ebx, eax
je 0x48d99a
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x28]
shl esi, 5
sub esi, 0x20
mov dword [ebx + 0xc], str.LONG
movd xmm0, esi
mov esi, dword [ebp + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x50d268]
mulss xmm0, dword [0x50d2d8]
addss xmm0, dword [0x50d498]
jmp 0x48dad9
xorps xmm0, xmm0
mov dword [ebx + 0xc], str.LONG
jmp 0x48dad9
cmp dword [edi], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + esi + 0x14]
mov dword [ebp - 0x20], eax
jne 0x48d9f6
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
mov dword [ebp - 0x28], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.SCNT], 0
je 0x48dacf
cmp byte [0x50b7e1], 0
jne 0x48da2b
movss xmm0, dword [0x50d498]
jmp 0x48dad2
push 0x5046d4
push str.SCNT
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48da4f
mov ecx, str.SCNT
call fcn.00434dd0
mov esi, eax
jmp 0x48daa5
mov ebx, str.SCNT
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48da88
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48da68
mov ecx, str.SCNT
call fcn.00434dd0
add eax, str.SCNT
cmp ebx, eax
je 0x48daa2
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x28]
shl esi, 5
sub esi, 0x20
movd xmm0, esi
mov esi, dword [ebp + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x50d268]
mulss xmm0, dword [0x50d2d8]
addss xmm0, dword [0x50d498]
jmp 0x48dad2
xorps xmm0, xmm0
mov dword [ebx + 0xc], str.SCNT
mulss xmm0, dword [0x50d2cc]
mov eax, dword [ebp - 0x20]
movss xmm1, dword [ebp + 0x18]
subss xmm1, xmm0
movss xmm0, dword [ebp + 8]
movss dword [ebx + 4], xmm1
movss dword [ebx + 8], xmm0
mov dword [ebx + 0x10], 0x3e68f5c2
mov dword [ebx + 0x14], eax
mov ebx, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xc]
movss xmm2, dword [eax + 4]
mov eax, dword [ebp + 0x14]
movaps xmm0, xmm2
mulss xmm0, dword [0x50d33c]
mulss xmm2, dword [0x50d2fc]
mov eax, dword [ecx + eax]
movss dword [ebp + 0x18], xmm0
movss dword [ebp + 0xc], xmm2
and eax, 0x4000000
jne 0x48db47
mov dword [ebp + 8], 0xff3f3f3f
jmp 0x48db4e
mov eax, dword [ebx + esi + 0x14]
mov dword [ebp + 8], eax
cmp dword [edi], 0
jne 0x48db5a
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
mov dword [ebp - 0x28], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.DATACORE], 0
je 0x48dc42
cmp byte [0x505f85], 0
jne 0x48db92
movss xmm3, dword [0x50d498]
movaps xmm1, xmm3
jmp 0x48dc4d
push 0x5046d4
push str.DATACORE
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48dbb6
mov ecx, str.DATACORE
call fcn.00434dd0
mov esi, eax
jmp 0x48dc0d
mov ebx, str.DATACORE
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48dbf0
nop
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48dbd0
mov ecx, str.DATACORE
call fcn.00434dd0
add eax, str.DATACORE
cmp ebx, eax
je 0x48dc0a
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x28]
movss xmm3, dword [0x50d498]
movss xmm2, dword [ebp + 0xc]
movss xmm0, dword [ebp + 0x18]
shl esi, 5
sub esi, 0x20
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x50d268]
mulss xmm1, dword [0x50d2d8]
addss xmm1, xmm3
jmp 0x48dc4d
movss xmm3, dword [0x50d498]
xorps xmm1, xmm1
mov eax, dword [ebp + 8]
xorps xmm4, xmm4
mov ecx, dword [ebp - 0xc]
mulss xmm1, xmm4
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x14]
movss dword [ebx + 8], xmm2
subss xmm0, xmm1
mov dword [ebx + 0xc], str.DATACORE
mov dword [ebx + 0x10], 0x3e68f5c2
movss dword [ebx + 4], xmm0
mov eax, dword [ecx + eax]
and eax, 0x8000000
jne 0x48dc8f
mov dword [ebp + 8], 0xff3f3f3f
jmp 0x48dc9c
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp + 8], eax
cmp dword [edi], 0
addss xmm2, xmm3
movss dword [ebp + 0xc], xmm2
jne 0x48dcb1
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
mov dword [ebp - 0x28], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.ARMORY], 0
je 0x48dd90
cmp byte [0x505f91], 0
jne 0x48dce1
movaps xmm1, xmm3
jmp 0x48dd93
push 0x5046d4
push str.ARMORY
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48dd05
mov ecx, str.ARMORY
call fcn.00434dd0
mov esi, eax
jmp 0x48dd5d
mov ebx, str.ARMORY
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48dd40
nop
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48dd20
mov ecx, str.ARMORY
call fcn.00434dd0
add eax, str.ARMORY
cmp ebx, eax
je 0x48dd5a
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x28]
movss xmm3, dword [0x50d498]
xorps xmm4, xmm4
movss xmm2, dword [ebp + 0xc]
shl esi, 5
sub esi, 0x20
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x50d268]
mulss xmm1, dword [0x50d2d8]
addss xmm1, xmm3
jmp 0x48dd93
xorps xmm1, xmm1
movss xmm0, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mulss xmm1, xmm4
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x14]
movss dword [ebx + 8], xmm2
subss xmm0, xmm1
mov dword [ebx + 0xc], str.ARMORY
mov dword [ebx + 0x10], 0x3e68f5c2
movss dword [ebx + 4], xmm0
mov eax, dword [ecx + eax]
and eax, 0x10000000
jne 0x48ddd7
mov dword [ebp + 8], 0xff3f3f3f
jmp 0x48dde4
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp + 8], eax
cmp dword [edi], 0
addss xmm2, xmm3
movss dword [ebp + 0xc], xmm2
jne 0x48ddf9
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
mov dword [ebp - 0x28], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.REACTOR], 0
je 0x48ded6
cmp byte [0x50b809], 0
jne 0x48de29
movaps xmm1, xmm3
jmp 0x48ded9
push 0x5046d4
push str.REACTOR
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48de4d
mov ecx, str.REACTOR
call fcn.00434dd0
mov esi, eax
jmp 0x48dea3
mov ebx, str.REACTOR
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48de86
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48de66
mov ecx, str.REACTOR
call fcn.00434dd0
add eax, str.REACTOR
cmp ebx, eax
je 0x48dea0
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x28]
movss xmm3, dword [0x50d498]
xorps xmm4, xmm4
movss xmm2, dword [ebp + 0xc]
shl esi, 5
sub esi, 0x20
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x50d268]
mulss xmm1, dword [0x50d2d8]
addss xmm1, xmm3
jmp 0x48ded9
xorps xmm1, xmm1
movss xmm0, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mulss xmm1, xmm4
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x14]
movss dword [ebx + 8], xmm2
subss xmm0, xmm1
mov dword [ebx + 0xc], str.REACTOR
mov dword [ebx + 0x10], 0x3e68f5c2
movss dword [ebx + 4], xmm0
mov eax, dword [ecx + eax]
and eax, 0x20000000
jne 0x48df1d
mov dword [ebp + 8], 0xff3f3f3f
jmp 0x48df2a
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp + 8], eax
cmp dword [edi], 0
addss xmm2, xmm3
movss dword [ebp + 0xc], xmm2
jne 0x48df3f
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
mov dword [ebp - 0x28], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.SENTRY], 0
je 0x48e020
cmp byte [0x505f7d], 0
jne 0x48df6f
movaps xmm1, xmm3
jmp 0x48e023
push 0x5046d4
push str.SENTRY
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48df93
mov ecx, str.SENTRY
call fcn.00434dd0
mov esi, eax
jmp 0x48dfed
mov ebx, str.SENTRY
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48dfd0
nop dword [eax]
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48dfb0
mov ecx, str.SENTRY
call fcn.00434dd0
add eax, str.SENTRY
cmp ebx, eax
je 0x48dfea
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x28]
movss xmm3, dword [0x50d498]
xorps xmm4, xmm4
movss xmm2, dword [ebp + 0xc]
shl esi, 5
sub esi, 0x20
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x50d268]
mulss xmm1, dword [0x50d2d8]
addss xmm1, xmm3
jmp 0x48e023
xorps xmm1, xmm1
movss xmm0, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mulss xmm1, xmm4
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x14]
movss dword [ebx + 8], xmm2
subss xmm0, xmm1
mov dword [ebx + 0xc], str.SENTRY
mov dword [ebx + 0x10], 0x3e68f5c2
movss dword [ebx + 4], xmm0
mov eax, dword [ecx + eax]
and eax, 0x40000000
jne 0x48e067
mov dword [ebp + 8], 0xff3f3f3f
jmp 0x48e074
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp + 8], eax
cmp dword [edi], 0
addss xmm2, xmm3
movss dword [ebp + 0xc], xmm2
jne 0x48e089
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
mov dword [ebp - 0x28], ebx
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
cmp byte [str.REPAIR], 0
je 0x48e166
cmp byte [0x505f99], 0
jne 0x48e0b9
movaps xmm1, xmm3
jmp 0x48e169
push 0x5046d4
push str.REPAIR
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48e0dd
mov ecx, str.REPAIR
call fcn.00434dd0
mov esi, eax
jmp 0x48e133
mov ebx, str.REPAIR
xor esi, esi
push 0x5046d4
push ebx
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48e116
mov ecx, eax
sub ecx, ebx
lea ebx, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push ebx
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48e0f6
mov ecx, str.REPAIR
call fcn.00434dd0
add eax, str.REPAIR
cmp ebx, eax
je 0x48e130
sub eax, ebx
cmp eax, esi
cmovg esi, eax
mov ebx, dword [ebp - 0x28]
movss xmm3, dword [0x50d498]
xorps xmm4, xmm4
movss xmm2, dword [ebp + 0xc]
shl esi, 5
sub esi, 0x20
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x50d268]
mulss xmm1, dword [0x50d2d8]
addss xmm1, xmm3
jmp 0x48e169
xorps xmm1, xmm1
movss xmm0, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mulss xmm1, xmm4
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x14]
movss dword [ebx + 8], xmm2
subss xmm0, xmm1
mov dword [ebx + 0xc], str.REPAIR
mov dword [ebx + 0x10], 0x3e68f5c2
movss dword [ebx + 4], xmm0
mov eax, dword [ecx + eax]
and eax, 0x80000000
jne 0x48e1ad
mov dword [ebp + 0x10], 0xff3f3f3f
jmp 0x48e1ba
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp + 0x10], eax
cmp dword [edi], 0
addss xmm2, xmm3
movss dword [ebp + 0xc], xmm2
jne 0x48e1cf
mov ecx, edi
call fcn.0042a520
mov ebx, dword [edi + 4]
push 0x5046d4
push str.AIRLOCK
lea eax, [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx], 1
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48e202
mov ecx, str.AIRLOCK
call fcn.00434dd0
mov esi, eax
jmp 0x48e25a
mov edi, str.AIRLOCK
xor esi, esi
push 0x5046d4
push edi
call fcn.004d0580
add esp, 8
test eax, eax
je 0x48e240
nop dword [eax + eax]
mov ecx, eax
sub ecx, edi
lea edi, [eax + 1]
cmp ecx, esi
push 0x5046d4
cmovle ecx, esi
push edi
mov esi, ecx
call fcn.004d0580
add esp, 8
test eax, eax
jne 0x48e220
mov ecx, str.AIRLOCK
call fcn.00434dd0
add eax, str.AIRLOCK
cmp edi, eax
je 0x48e25a
sub eax, edi
cmp eax, esi
cmovg esi, eax
shl esi, 5
sub esi, 0x20
movss xmm1, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
pop edi
mov dword [ebx + 0xc], str.AIRLOCK
movd xmm0, esi
cvtdq2ps xmm0, xmm0
pop esi
mov dword [ebx + 0x10], 0x3e68f5c2
mov dword [ebx + 0x14], eax
mulss xmm0, dword [0x50d268]
mulss xmm0, dword [0x50d2d8]
addss xmm0, dword [0x50d498]
mulss xmm0, dword [0x50d18c]
subss xmm1, xmm0
movss xmm0, dword [ebp + 0xc]
movss dword [ebx + 8], xmm0
movss dword [ebx + 4], xmm1
pop ebx
mov esp, ebp
pop ebp
ret