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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x184
push ebx
push esi
push edi
xorps xmm0, xmm0
call fcn.10050a95
mov edx, dword [0x1027c41c]
xor ebx, ebx
push ebx
push str.preview.yaw
mov eax, dword [edx + 0x1b48]
mov ecx, dword [eax + 0xd0]
mov eax, dword [eax + 0xd4]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x1b48]
mov dword [esp + 0x1c], ecx
mov byte [eax + 0x84], 1
mov ecx, dword [edx + 0x1b48]
call fcn.100493dd
movss xmm2, dword [esp + 0x14]
lea ecx, [esp + 0x4c]
movss xmm1, dword [esp + 0x18]
movaps xmm0, xmm2
addss xmm0, dword [0x102740f0]
and dword [esp + 0x10], ebx
mov esi, eax
push dword [esp + 0x10]
and dword [esp + 0x10], ebx
push dword [esp + 0x10]
movss dword [esp + 0x3c], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10274120]
movss dword [esp + 0x40], xmm0
push dword [esp + 0x40]
push dword [esp + 0x40]
call fcn.1004623e
push ebx
movss dword [esp + 0x38], xmm2
movss dword [esp + 0x3c], xmm1
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ebx
push ebx
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x40]
push esi
push eax
mov dword [esp + 0x50], ecx
call fcn.10065720
mov edi, dword [0x1027c41c]
add esp, 0x24
mov eax, dword [edi + 0x1b48]
mov byte [eax + 0x84], 1
mov ebx, dword [edi + 0x1b48]
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x10041825
mov esi, dword [0x1027c494]
cmp byte [esi + 0xff0], 0
je 0x10041825
cmp byte [esi + 0xff1], 0
movss xmm1, dword [0x10273ea0]
je 0x1004076e
and dword [esp + 0x18], 0
lea ecx, [esp + 0x34]
push dword [esp + 0x18]
and dword [esp + 0x18], 0
push dword [esp + 0x18]
mov dword [esp + 0x18], 0x41b80000
push dword [esp + 0x18]
mov dword [esp + 0x18], 0x41c80000
push dword [esp + 0x18]
call fcn.1004623e
and dword [esp + 0x28], 0
lea ecx, [esp + 0x1c]
push dword [esp + 0x28]
and dword [esp + 0x28], 0
push dword [esp + 0x28]
mov dword [esp + 0x28], 0x43870000
push dword [esp + 0x28]
mov dword [esp + 0x28], 0x432f0000
push dword [esp + 0x28]
call fcn.1004623e
movss xmm0, dword [esp + 0x2c]
add esp, 0x1c
addss xmm0, dword [ebx + 0xc]
mov dword [esp], 0x3f800000
push 0xf
addss xmm0, xmm1
push ecx
and dword [esp], 0
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [ebx + 0x10]
addss xmm0, xmm1
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x40]
addss xmm0, dword [ebx + 0xc]
subss xmm0, xmm1
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x44]
addss xmm0, dword [ebx + 0x10]
subss xmm0, xmm1
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [edi + 0x1520]
mulss xmm0, dword [0x10274050]
call fcn.1010fe60
mov ecx, dword [ebx + 0x294]
shl eax, 0x18
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1005dfe2
mov eax, dword [0x1027c494]
mov ecx, dword [0x1027c41c]
movss xmm2, dword [ebx + 0xc]
movss xmm1, dword [ebx + 0x10]
movss xmm0, dword [eax + 0xff4]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [eax + 0xff8]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [eax + 0xffc]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [ecx + 0x1520]
mulss xmm0, dword [eax + 0x1000]
push ecx
mov dword [esp], 0x3f800000
push 0xf
movss dword [esp + 0x38], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esp + 0x14]
addss xmm2, dword [esp + 0x3c]
push ecx
and dword [esp], 0
lea ecx, [esp + 0x30]
movss dword [esp + 0x28], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x1c]
addss xmm1, dword [esp + 0x44]
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x4c], xmm1
call fcn.1004808c
mov ecx, dword [ebx + 0x294]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1005dfe2
movss xmm1, dword [ebx + 0xc]
movss xmm3, dword [0x10273ea0]
movaps xmm0, xmm1
addss xmm0, dword [esp + 0xc]
movss xmm2, dword [ebx + 0x10]
addss xmm1, dword [esp + 0x34]
mov eax, dword [0x1027c41c]
push ecx
subss xmm0, xmm3
mov dword [esp], 0x3f800000
push 0xf
addss xmm1, xmm3
push ecx
and dword [esp], 0
movss dword [esp + 0x28], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esp + 0x1c]
addss xmm2, dword [esp + 0x44]
movss dword [esp + 0x48], xmm1
subss xmm0, xmm3
addss xmm2, xmm3
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [eax + 0x1520]
mulss xmm0, dword [0x10274050]
movss dword [esp + 0x4c], xmm2
call fcn.1010fe60
mov ecx, dword [ebx + 0x294]
shl eax, 0x18
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1005dfe2
mov esi, dword [0x1027c494]
mov edi, dword [0x1027c41c]
cmp byte [esi + 0x1004], 0
movss xmm5, dword [0x10273e38]
je 0x100409a0
and dword [esp + 0x18], 0
lea ecx, [esp + 0x14]
push dword [esp + 0x18]
and dword [esp + 0x18], 0
push dword [esp + 0x18]
mov dword [esp + 0x18], 0x41000000
push dword [esp + 0x18]
mov dword [esp + 0x18], 0x432f0000
push dword [esp + 0x18]
call fcn.1004623e
mov esi, dword [0x1027c5c0]
add esp, 0x10
add esi, 0x65564
cmp dword [esi + 0x14], 0xf
jbe 0x100407cd
mov esi, dword [esi]
movss xmm0, dword [0x10273f88]
xorps xmm1, xmm1
call fcn.10046146
mov edx, dword [0x1027d090]
movaps xmm2, xmm0
push ecx
mov dword [esp], 0xbf800000
lea ecx, [esp + 0x50]
push 0
push 0
push esi
call fcn.1004b9d5
movss xmm1, dword [esp + 0x24]
add esp, 0x10
movss xmm2, dword [0x10273e38]
movss xmm0, dword [esp + 0x4c]
mulss xmm0, dword [0x10273dec]
mov eax, dword [ebx + 0x294]
mulss xmm1, xmm2
mov dword [esp + 0x34], eax
mov eax, dword [0x1027c5c0]
add eax, 0x65564
subss xmm1, xmm0
mov dword [esp + 0x44], eax
cmp dword [eax + 0x14], 0xf
movss dword [esp + 0xc], xmm1
jbe 0x1004084d
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov eax, dword [0x1027c494]
movss xmm0, dword [eax + 0x1014]
mulss xmm0, dword [0x1027412c]
mulss xmm0, dword [edi + 0x1520]
cvttss2si esi, xmm0
movaps xmm0, xmm1
xorps xmm1, xmm1
addss xmm0, dword [ebx + 0xc]
shl esi, 0x18
or esi, 0x565656
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x18]
addss xmm0, dword [ebx + 0x10]
addss xmm0, xmm2
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x10273f88]
call fcn.10046146
push 0
push ecx
and dword [esp], 0
lea eax, [esp + 0x24]
mov ecx, dword [esp + 0x3c]
movaps xmm2, xmm0
push 0
push dword [esp + 0x50]
push esi
push eax
push dword [0x1027ceac]
call fcn.1005e4e0
mov esi, dword [0x1027c5c0]
mov edi, dword [ebx + 0x294]
add esi, 0x65564
cmp dword [esi + 0x14], 0xf
jbe 0x100408e9
mov esi, dword [esi]
mov eax, dword [0x1027c494]
xorps xmm1, xmm1
mov ecx, dword [0x1027c41c]
movss xmm0, dword [eax + 0x1008]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [eax + 0x100c]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [eax + 0x1010]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [ecx + 0x1520]
mulss xmm0, dword [eax + 0x1014]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0xc]
addss xmm0, dword [ebx + 0xc]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x18]
addss xmm0, dword [ebx + 0x10]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x10273f88]
call fcn.10046146
push 0
push ecx
and dword [esp], 0
lea ecx, [esp + 0x2c]
push 0
push esi
movaps xmm5, xmm0
call fcn.1004808c
push eax
lea eax, [esp + 0x30]
movaps xmm2, xmm5
push eax
push dword [0x1027ceac]
mov ecx, edi
call fcn.1005e4e0
mov esi, dword [0x1027c494]
movss xmm5, dword [0x10273e38]
cmp byte [esi + 0x1110], 0
je 0x10040db1
and dword [esp + 0x18], 0
lea ecx, [esp + 0x14]
push dword [esp + 0x18]
and dword [esp + 0x18], 0
push dword [esp + 0x18]
mov dword [esp + 0x18], 0x438b0000
push dword [esp + 0x18]
mov dword [esp + 0x18], 0x432f0000
push dword [esp + 0x18]
call fcn.1004623e
add esp, 0x10
xorps xmm1, xmm1
cmp byte [esi + 0x1134], 0
xorps xmm2, xmm2
je 0x10040bbd
movss xmm0, dword [0x10273fc4]
call fcn.10046146
mulss xmm0, xmm5
movss dword [esp + 0x34], xmm0
movss xmm0, dword [0x10273f90]
call fcn.10046146
mov ebx, dword [0x1027d080]
movaps xmm2, xmm0
push ecx
mov dword [esp], 0xbf800000
lea ecx, [esp + 0x50]
push 0
push 0
push 0x10271358
mov edx, ebx
call fcn.1004b9d5
movss xmm1, dword [esp + 0x24]
add esp, 0x10
movss xmm0, dword [esp + 0x4c]
mulss xmm0, dword [0x10273dc0]
mov eax, dword [0x1027c494]
mulss xmm1, dword [0x10273e38]
mov ecx, dword [esp + 0x48]
subss xmm1, xmm0
movss xmm0, dword [eax + 0x1120]
mulss xmm0, dword [0x1027412c]
mov eax, dword [0x1027c41c]
mov edi, dword [ecx + 0x294]
movss dword [esp + 0xc], xmm1
mulss xmm0, dword [eax + 0x1520]
cvttss2si esi, xmm0
movaps xmm0, xmm1
xorps xmm1, xmm1
addss xmm0, dword [ecx + 0xc]
shl esi, 0x18
or esi, 0x565656
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x18]
addss xmm0, dword [ecx + 0x10]
addss xmm0, dword [0x10273e38]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x10273f90]
call fcn.10046146
push 0
push ecx
and dword [esp], 0
lea eax, [esp + 0x24]
push 0
push 0x10271358
push esi
push eax
push ebx
movaps xmm2, xmm0
mov ecx, edi
call fcn.1005e4e0
mov eax, dword [0x1027c494]
mov ecx, dword [0x1027c41c]
mov ebx, dword [esp + 0x48]
movss xmm0, dword [eax + 0x1114]
movss xmm1, dword [ecx + 0x1520]
mulss xmm1, dword [eax + 0x1120]
mov esi, dword [ebx + 0x294]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [eax + 0x1118]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [eax + 0x111c]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x18]
addss xmm0, dword [ebx + 0x10]
movss dword [esp + 0x30], xmm1
movss xmm1, dword [esp + 0xc]
addss xmm1, dword [ebx + 0xc]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x10273f90]
movss dword [esp + 0x1c], xmm1
xorps xmm1, xmm1
call fcn.10046146
push 0
push ecx
and dword [esp], 0
movaps xmm5, xmm0
push 0
push 0x10271358
lea ecx, [esp + 0x34]
call fcn.1004808c
push eax
lea eax, [esp + 0x30]
movaps xmm2, xmm5
push eax
push dword [0x1027d080]
mov ecx, esi
call fcn.1005e4e0
mov esi, dword [0x1027c494]
xorps xmm1, xmm1
movss xmm2, dword [esp + 0x34]
cmp byte [esi + 0x1135], 0
je 0x10040db1
and dword [esp + 0x18], 0
lea ecx, [esp + 0x1c]
push dword [esp + 0x18]
and dword [esp + 0x18], 0
push dword [esp + 0x18]
mov dword [esp + 0x18], 0x438b0000
push dword [esp + 0x18]
mov dword [esp + 0x18], 0x432f0000
push dword [esp + 0x18]
call fcn.1004623e
movss xmm0, dword [esp + 0x30]
addss xmm0, xmm2
movss dword [esp + 0x54], xmm0
movss xmm0, dword [0x10273f88]
call fcn.10046146
mov edx, dword [0x1027d090]
lea ecx, [esp + 0x5c]
add esp, 0xc
movaps xmm2, xmm0
mov dword [esp], 0xbf800000
push 0
push 0
push str.SCAR_20
call fcn.1004b9d5
movss xmm1, dword [esp + 0x2c]
add esp, 0x10
movss xmm0, dword [esp + 0x4c]
mulss xmm0, dword [0x10273dbc]
mov eax, dword [0x1027c494]
mulss xmm1, dword [0x10273e38]
mov edi, dword [ebx + 0x294]
subss xmm1, xmm0
movss xmm0, dword [eax + 0x1120]
mulss xmm0, dword [0x1027412c]
mov eax, dword [0x1027c41c]
movss dword [esp + 0xc], xmm1
mulss xmm0, dword [eax + 0x1520]
cvttss2si esi, xmm0
movaps xmm0, xmm1
xorps xmm1, xmm1
addss xmm0, dword [ebx + 0xc]
shl esi, 0x18
or esi, 0x565656
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x44]
addss xmm0, dword [ebx + 0x10]
addss xmm0, dword [0x10273e38]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x10273f88]
call fcn.10046146
push 0
push ecx
and dword [esp], 0
lea eax, [esp + 0x24]
push 0
push str.SCAR_20
push esi
push eax
push dword [0x1027ceac]
movaps xmm2, xmm0
mov ecx, edi
call fcn.1005e4e0
mov eax, dword [0x1027c494]
mov ecx, dword [0x1027c41c]
mov esi, dword [ebx + 0x294]
movss xmm0, dword [eax + 0x1114]
movss xmm1, dword [ecx + 0x1520]
mulss xmm1, dword [eax + 0x1120]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [eax + 0x1118]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [eax + 0x111c]
movss dword [esp + 0x30], xmm1
movss xmm1, dword [esp + 0xc]
addss xmm1, dword [ebx + 0xc]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x44]
addss xmm0, dword [ebx + 0x10]
movss dword [esp + 0x1c], xmm1
xorps xmm1, xmm1
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x10273f88]
call fcn.10046146
push 0
push ecx
and dword [esp], 0
lea ecx, [esp + 0x2c]
push 0
push str.SCAR_20
movaps xmm5, xmm0
call fcn.1004808c
push eax
lea eax, [esp + 0x30]
movaps xmm2, xmm5
push eax
push dword [0x1027ceac]
mov ecx, esi
call fcn.1005e4e0
mov esi, dword [0x1027c494]
cmp byte [esi + 0x1018], 0
je 0x10040f9c
and dword [esp + 0x18], 0
lea ecx, [esp + 0x34]
push dword [esp + 0x18]
and dword [esp + 0x18], 0
push dword [esp + 0x18]
mov dword [esp + 0x18], 0x41b80000
push dword [esp + 0x18]
mov dword [esp + 0x18], 0x41a00000
push dword [esp + 0x18]
call fcn.1004623e
and dword [esp + 0x28], 0
lea ecx, [esp + 0x1c]
push dword [esp + 0x28]
and dword [esp + 0x28], 0
push dword [esp + 0x28]
mov dword [esp + 0x28], 0x43870000
push dword [esp + 0x28]
mov dword [esp + 0x28], 0x41a80000
push dword [esp + 0x28]
call fcn.1004623e
movss xmm1, dword [ebx + 0xc]
add esp, 0x20
movss xmm3, dword [0x10273ea0]
movaps xmm0, xmm1
addss xmm0, dword [esp + 0xc]
movss xmm2, dword [ebx + 0x10]
addss xmm1, dword [esp + 0x34]
mov eax, dword [0x1027c41c]
push 0xf
addss xmm0, xmm3
push ecx
and dword [esp], 0
subss xmm1, xmm3
movss dword [esp + 0x24], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esp + 0x18]
addss xmm2, dword [esp + 0x40]
movss dword [esp + 0x44], xmm1
addss xmm0, xmm3
subss xmm2, xmm3
movss dword [esp + 0x28], xmm0
movss xmm0, dword [eax + 0x1520]
mulss xmm0, dword [0x10274050]
movss dword [esp + 0x48], xmm2
call fcn.1010fe60
mov ecx, dword [ebx + 0x294]
shl eax, 0x18
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1005e0cd
mov eax, dword [0x1027c494]
cmp byte [eax + 0x1019], 0
je 0x10040f18
movss xmm0, dword [eax + 0x101c]
mov ecx, dword [0x1027c41c]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [eax + 0x1020]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [eax + 0x1024]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [ecx + 0x1520]
lea ecx, [esp + 0x24]
mulss xmm0, dword [eax + 0x1028]
movss dword [esp + 0x30], xmm0
call fcn.1004808c
jmp 0x10040f39
mov eax, dword [0x1027c41c]
movss xmm0, dword [eax + 0x1520]
mulss xmm0, dword [0x1027412c]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xff00
movss xmm2, dword [ebx + 0xc]
movss xmm1, dword [ebx + 0x10]
movaps xmm0, xmm2
addss xmm0, dword [esp + 0xc]
addss xmm2, dword [esp + 0x34]
push 0xf
push ecx
and dword [esp], 0
mov ecx, dword [ebx + 0x294]
movss dword [esp + 0x24], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x18]
addss xmm1, dword [esp + 0x40]
push eax
lea eax, [esp + 0x28]
movss dword [esp + 0x48], xmm2
push eax
lea eax, [esp + 0x4c]
movss dword [esp + 0x30], xmm0
push eax
movss dword [esp + 0x54], xmm1
call fcn.1005e0cd
mov esi, dword [0x1027c494]
cmp byte [esi + 0x1136], 0
je 0x10041160
and dword [esp + 0x18], 0
lea ecx, [esp + 0x34]
push dword [esp + 0x18]
and dword [esp + 0x18], 0
push dword [esp + 0x18]
mov dword [esp + 0x18], 0x43888000
push dword [esp + 0x18]
mov dword [esp + 0x18], 0x41c80000
push dword [esp + 0x18]
call fcn.1004623e
and dword [esp + 0x28], 0
lea ecx, [esp + 0x1c]
push dword [esp + 0x28]
and dword [esp + 0x28], 0
push dword [esp + 0x28]
mov dword [esp + 0x28], 0x43890000
push dword [esp + 0x28]
mov dword [esp + 0x28], 0x432f0000
push dword [esp + 0x28]
call fcn.1004623e
movss xmm1, dword [ebx + 0xc]
add esp, 0x20
movss xmm3, dword [0x10273ea0]
movaps xmm0, xmm1
addss xmm0, dword [esp + 0xc]
movss xmm2, dword [ebx + 0x10]
addss xmm1, dword [esp + 0x34]
mov eax, dword [0x1027c41c]
push 0xf
addss xmm0, xmm3
push ecx
and dword [esp], 0
subss xmm1, xmm3
movss dword [esp + 0x24], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esp + 0x18]
addss xmm2, dword [esp + 0x40]
movss dword [esp + 0x44], xmm1
addss xmm0, xmm3
subss xmm2, xmm3
movss dword [esp + 0x28], xmm0
movss xmm0, dword [eax + 0x1520]
mulss xmm0, dword [0x102740a0]
movss dword [esp + 0x48], xmm2
call fcn.1010fe60
mov ecx, dword [ebx + 0x294]
shl eax, 0x18
or eax, 0x707070
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1005e0cd
mov eax, dword [0x1027c494]
mov ecx, dword [0x1027c41c]
movss xmm2, dword [ebx + 0xc]
movss xmm1, dword [ebx + 0x10]
movss xmm0, dword [eax + 0x1138]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [eax + 0x113c]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [eax + 0x1140]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [ecx + 0x1520]
mulss xmm0, dword [eax + 0x1144]
push 0xf
push ecx
and dword [esp], 0
lea ecx, [esp + 0x2c]
movss dword [esp + 0x38], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esp + 0x14]
addss xmm2, dword [esp + 0x3c]
movss dword [esp + 0x24], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x18]
addss xmm1, dword [esp + 0x40]
movss dword [esp + 0x44], xmm2
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x48], xmm1
call fcn.1004808c
mov ecx, dword [ebx + 0x294]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1005e0cd
mov esi, dword [0x1027c494]
cmp byte [esi + 0x1040], 0
je 0x10041825
and dword [esp + 0x24], 0
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edi
cmp byte [esi + 0x1041], bl
je 0x100411c7
add esi, 0x1050
push esi
sub esp, 0x18
mov ecx, esp
push 0x10270cec
call fcn.10004010
lea ecx, [esp + 0x70]
call fcn.1003e768
push eax
push edi
lea ecx, [esp + 0x2c]
call fcn.1001ae33
lea ecx, [esp + 0x54]
call fcn.10001483
mov esi, dword [0x1027c494]
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
cmp byte [esi + 0x1042], 0
je 0x10041230
add esi, 0x1060
push esi
sub esp, 0x18
mov ecx, esp
push str.16000_
call fcn.10004010
lea ecx, [esp + 0x94]
call fcn.1003e768
mov esi, eax
push esi
cmp ebx, edi
je 0x1004120f
mov ecx, ebx
call fcn.10003fda
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
add ebx, 0x1c
mov dword [esp + 0x28], ebx
jmp 0x10041221
push ebx
lea ecx, [esp + 0x2c]
call fcn.1001ae33
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x78]
call fcn.10001483
mov esi, dword [0x1027c494]
cmp byte [esi + 0x1043], 0
je 0x1004129c
add esi, 0x1070
push esi
sub esp, 0x18
mov ecx, esp
push 0x10270cf0
call fcn.10004010
lea ecx, [esp + 0xb0]
call fcn.1003e768
mov esi, eax
push esi
cmp ebx, edi
je 0x10041278
mov ecx, ebx
call fcn.10003fda
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
add ebx, 0x1c
mov dword [esp + 0x28], ebx
jmp 0x1004128a
push ebx
lea ecx, [esp + 0x2c]
call fcn.1001ae33
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x94]
call fcn.10001483
mov esi, dword [0x1027c494]
cmp byte [esi + 0x1044], 0
je 0x10041308
add esi, 0x1080
push esi
sub esp, 0x18
mov ecx, esp
push str.BOMB
call fcn.10004010
lea ecx, [esp + 0xcc]
call fcn.1003e768
mov esi, eax
push esi
cmp ebx, edi
je 0x100412e4
mov ecx, ebx
call fcn.10003fda
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
add ebx, 0x1c
mov dword [esp + 0x28], ebx
jmp 0x100412f6
push ebx
lea ecx, [esp + 0x2c]
call fcn.1001ae33
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0xb0]
call fcn.10001483
mov esi, dword [0x1027c494]
cmp byte [esi + 0x1045], 0
je 0x10041374
add esi, 0x1090
push esi
sub esp, 0x18
mov ecx, esp
push str.RELOAD
call fcn.10004010
lea ecx, [esp + 0xe8]
call fcn.1003e768
mov esi, eax
push esi
cmp ebx, edi
je 0x10041350
mov ecx, ebx
call fcn.10003fda
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
add ebx, 0x1c
mov dword [esp + 0x28], ebx
jmp 0x10041362
push ebx
lea ecx, [esp + 0x2c]
call fcn.1001ae33
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0xcc]
call fcn.10001483
mov esi, dword [0x1027c494]
cmp byte [esi + 0x1046], 0
je 0x100413e0
add esi, 0x10a0
push esi
sub esp, 0x18
mov ecx, esp
push str.ZOOM
call fcn.10004010
lea ecx, [esp + 0x104]
call fcn.1003e768
mov esi, eax
push esi
cmp ebx, edi
je 0x100413bc
mov ecx, ebx
call fcn.10003fda
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
add ebx, 0x1c
mov dword [esp + 0x28], ebx
jmp 0x100413ce
push ebx
lea ecx, [esp + 0x2c]
call fcn.1001ae33
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0xe8]
call fcn.10001483
mov esi, dword [0x1027c494]
cmp byte [esi + 0x1047], 0
je 0x1004144c
add esi, 0x10b0
push esi
sub esp, 0x18
mov ecx, esp
push str.FLASH
call fcn.10004010
lea ecx, [esp + 0x120]
call fcn.1003e768
mov esi, eax
push esi
cmp ebx, edi
je 0x10041428
mov ecx, ebx
call fcn.10003fda
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
add ebx, 0x1c
mov dword [esp + 0x28], ebx
jmp 0x1004143a
push ebx
lea ecx, [esp + 0x2c]
call fcn.1001ae33
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x104]
call fcn.10001483
mov esi, dword [0x1027c494]
cmp byte [esi + 0x1048], 0
je 0x100414b8
add esi, 0x10c0
push esi
sub esp, 0x18
mov ecx, esp
push 0x10270d18
call fcn.10004010
lea ecx, [esp + 0x13c]
call fcn.1003e768
mov esi, eax
push esi
cmp ebx, edi
je 0x10041494
mov ecx, ebx
call fcn.10003fda
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
add ebx, 0x1c
mov dword [esp + 0x28], ebx
jmp 0x100414a6
push ebx
lea ecx, [esp + 0x2c]
call fcn.1001ae33
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x120]
call fcn.10001483
mov esi, dword [0x1027c494]
cmp byte [esi + 0x1049], 0
je 0x10041524
add esi, 0x10d0
push esi
sub esp, 0x18
mov ecx, esp
push str.EXPLOIT
call fcn.10004010
lea ecx, [esp + 0x158]
call fcn.1003e768
mov esi, eax
push esi
cmp ebx, edi
je 0x10041500
mov ecx, ebx
call fcn.10003fda
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
add ebx, 0x1c
mov dword [esp + 0x28], ebx
jmp 0x10041512
push ebx
lea ecx, [esp + 0x2c]
call fcn.1001ae33
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x13c]
call fcn.10001483
mov esi, dword [0x1027c494]
cmp byte [esi + 0xca2], 0
je 0x10041590
add esi, 0xd38
push esi
sub esp, 0x18
mov ecx, esp
push str.PLANT
call fcn.10004010
lea ecx, [esp + 0x174]
call fcn.1003e768
mov esi, eax
push esi
cmp ebx, edi
je 0x1004156c
mov ecx, ebx
call fcn.10003fda
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
add ebx, 0x1c
mov dword [esp + 0x28], ebx
jmp 0x1004157e
push ebx
lea ecx, [esp + 0x2c]
call fcn.1001ae33
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x158]
call fcn.10001483
mov esi, dword [0x1027c494]
cmp byte [esi + 0xca3], 0
je 0x100415f2
add esi, 0xd48
push esi
sub esp, 0x18
mov ecx, esp
push str.DEFUSE
call fcn.10004010
lea ecx, [esp + 0x190]
call fcn.1003e768
mov esi, eax
push esi
cmp ebx, edi
je 0x100415d8
mov ecx, ebx
call fcn.10003fda
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
add ebx, 0x1c
mov dword [esp + 0x28], ebx
jmp 0x100415e6
push ebx
lea ecx, [esp + 0x2c]
call fcn.1001ae33
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x174]
call fcn.10001483
mov esi, dword [esp + 0x24]
movss xmm0, dword [0x10273fa4]
movss dword [esp + 0x44], xmm0
mov dword [esp + 0x34], esi
cmp esi, ebx
je 0x10041813
and dword [esp + 0x3c], 0
and dword [esp + 0x40], 0
mov dword [esp + 0x1c], 0x43340000
push esi
lea ecx, [esp + 0x58]
call fcn.1000406f
push dword [esp + 0x40]
movss xmm0, dword [esp + 0x48]
lea ecx, [esp + 0x18]
push dword [esp + 0x40]
mov eax, dword [esi + 0x18]
movss dword [esp + 0x28], xmm0
push dword [esp + 0x28]
mov dword [esp + 0x18], eax
push dword [esp + 0x28]
mov dword [esp + 0x7c], eax
call fcn.1004623e
mov eax, dword [esp + 0x1c]
add esp, 0x10
movss xmm1, dword [0x10273d58]
movzx ecx, al
movzx eax, ah
movd xmm0, ecx
lea ecx, [esp + 0x78]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 0x78], xmm0
movd xmm0, eax
movzx eax, byte [esp + 0x6e]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 0x7c], xmm0
movd xmm0, eax
movzx eax, byte [esp + 0x6f]
cvtdq2ps xmm0, xmm0
movd xmm6, eax
mov eax, dword [0x1027c41c]
mulss xmm0, xmm1
cvtdq2ps xmm6, xmm6
movss xmm5, dword [eax + 0x1520]
movss dword [esp + 0x80], xmm0
movaps xmm0, xmm6
mulss xmm0, xmm1
mulss xmm0, xmm5
movss dword [esp + 0x84], xmm0
call fcn.1004808c
mov ecx, dword [esp + 0x48]
lea esi, [esp + 0x54]
movss xmm0, dword [esp + 0x14]
xorps xmm1, xmm1
cmp dword [esp + 0x68], 0xf
mov dword [0x10281888], eax
addss xmm0, dword [ecx + 0xc]
mov edi, dword [ecx + 0x294]
cmova esi, dword [esp + 0x54]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x18]
addss xmm0, dword [ecx + 0x10]
addss xmm0, dword [0x10273e38]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [0x10273f80]
call fcn.10046146
mulss xmm6, xmm5
movaps xmm2, xmm0
push 0
push ecx
and dword [esp], 0
mov ecx, edi
cvttss2si eax, xmm6
push 0
push esi
shl eax, 0x18
or eax, 0x565656
push eax
lea eax, [esp + 0x84]
push eax
push dword [0x1027ceac]
call fcn.1005e4e0
mov eax, dword [esp + 0x48]
lea esi, [esp + 0x54]
cmp dword [esp + 0x68], 0xf
movss xmm0, dword [esp + 0x14]
cmova esi, dword [esp + 0x54]
mov edi, dword [eax + 0x294]
addss xmm0, dword [eax + 0xc]
xorps xmm1, xmm1
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0x18]
addss xmm0, dword [eax + 0x10]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [0x10273f80]
call fcn.10046146
push 0
push ecx
and dword [esp], 0
lea eax, [esp + 0x54]
push 0
push esi
push dword [0x10281888]
movaps xmm2, xmm0
mov ecx, edi
push eax
push dword [0x1027ceac]
call fcn.1005e4e0
movss xmm0, dword [0x10273f70]
xorps xmm1, xmm1
call fcn.10046146
addss xmm0, dword [esp + 0x44]
lea ecx, [esp + 0x54]
movss dword [esp + 0x44], xmm0
call fcn.10001483
mov esi, dword [esp + 0x34]
add esi, 0x1c
mov dword [esp + 0x34], esi
cmp esi, ebx
jne 0x10041622
lea ecx, [esp + 0x24]
call fcn.10019d90
lea ecx, [esp + 0x24]
call fcn.10019db5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret