Function at 0x100c0450
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101e4b01
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xd0
mov eax, dword [0x102924c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x103babc8]
xor edx, edx
push 0xab
mov ecx, str.BOMB_TIMER
mov dword [eax + 0x1abc], 0x435c0000
mov dword [eax + 0x1ac0], 0x428c0000
mov dword [eax + 0x1a94], 1
call fcn.100cec20
mov ecx, dword [0x103babc8]
add esp, 4
mov eax, dword [ecx + 0x19ec]
movss xmm0, dword [ecx + 0x1518]
addss xmm0, xmm0
movss xmm2, dword [eax + 0x18]
movss xmm1, dword [eax + 0x14]
subss xmm2, xmm0
movss xmm0, dword [ecx + 0x1514]
addss xmm0, xmm0
movss dword [0x103c8ad4], xmm2
subss xmm1, xmm0
movss dword [0x103c8ad0], xmm1
mov eax, dword [ecx + 0x19ec]
movss xmm0, dword [eax + 0xc]
movss xmm1, dword [eax + 0x10]
addss xmm1, dword [ecx + 0x1518]
addss xmm0, dword [ecx + 0x1514]
movss dword [0x103c8acc], xmm1
movss dword [0x103c8ac8], xmm0
mov eax, dword [ecx + 0x19ec]
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x19ec]
mov ecx, dword [0x103bc730]
mov edi, dword [eax + 0x26c]
mov eax, dword [ecx]
mov dword [ebp - 0x8c], edi
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x100c1583
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x94], 0
push str.planted_c4
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x90], 0
movups xmmword [ebp - 0xa4], xmm0
call fcn.10019250
lea eax, [ebp - 0xa4]
mov dword [ebp - 4], 0
push eax
mov ecx, 0x103bd828
call fcn.10015b90
mov esi, dword [eax]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x90]
cmp ecx, 0xf
jbe 0x100c05fa
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c05f0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c15a1
push ecx
push edx
call fcn.101ab3ee
add esp, 8
cmp esi, 2
jne 0x100c1583
cmp byte [0x103c3a18], 0
jne 0x100c0619
cmp byte [0x103bcbd4], 0
je 0x100c1583
mov eax, dword [0x103bc78c]
movss xmm0, dword [0x103c3a20]
subss xmm0, dword [eax + 0x10]
mov eax, dword [0x103bc72c]
mov eax, dword [eax + 0x30]
movss dword [ebp - 0x64], xmm0
mov dword [ebp - 0x74], eax
test eax, eax
je 0x100c0690
nop
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x100c0650
xor edx, edx
test ecx, ecx
je 0x100c0680
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c0660
cmp esi, 0xec694f73
je 0x100c071d
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 4]
mov dword [ebp - 0x74], eax
test eax, eax
jne 0x100c0640
mov edi, dword [ebp - 0x8c]
xor ecx, ecx
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x78], eax
call dword [ebp - 0x78]
mov eax, dword [0x103bc78c]
mov ecx, dword [0x103c3a68]
fstp dword [ebp - 0x78]
movss xmm0, dword [eax + 0x10]
mov eax, 0x64
subss xmm0, dword [0x103c3a24]
cmp ecx, eax
cmovg ecx, eax
xor eax, eax
test ecx, ecx
divss xmm0, dword [ebp - 0x78]
cmovg eax, ecx
cmp byte [0x103bcbd4], 0
mov dword [0x103c3a68], eax
je 0x100c06ed
cmp byte [0x103c3a18], 0
jne 0x100c06ed
xorps xmm0, xmm0
movss dword [ebp - 0x64], xmm0
movss xmm2, dword [0x10277cac]
mov eax, dword [0x103bdb5c]
subss xmm2, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm2
movss dword [ebp - 0x78], xmm2
mulss xmm0, dword [0x10277edc]
comiss xmm0, xmm1
jbe 0x100c072b
inc eax
jmp 0x100c072d
mov ecx, dword [ebp - 0x74]
mov edi, dword [ebp - 0x8c]
jmp 0x100c0692
xor eax, eax
movaps xmm0, xmmword [0x102782a0]
lea ecx, [ebp - 0x24]
mov dword [0x103bdb5c], eax
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
movss xmm1, dword [0x103c8ad4]
movss xmm0, dword [0x103c8ad0]
addss xmm1, dword [0x103c8acc]
addss xmm0, dword [0x103c8ac8]
push 0xf
push ecx
mov dword [esp], 0x40c00000
mov ecx, edi
push eax
lea eax, [ebp - 0x60]
movss dword [ebp - 0x60], xmm0
push eax
push 0x103c8ac8
movss dword [ebp - 0x5c], xmm1
call fcn.100f3ec0
mov ecx, dword [0x103babc4]
call fcn.100e39f0
mov eax, dword [0x103babc8]
movss xmm3, dword [0x10278040]
push ecx
push 0
movss xmm2, dword [eax + 0x190c]
push 0x10270a94
push ecx
lea ecx, [ebp - 0x1c]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x1908]
call fcn.100f6cd0
movaps xmm0, xmmword [0x102784c0]
lea ecx, [ebp - 0x88]
movups xmmword [ebp - 0x88], xmm0
call fcn.100c7910
movss xmm6, dword [0x103c8ad4]
mov esi, eax
movss xmm0, dword [ebp - 0x18]
movaps xmm1, xmm6
mulss xmm1, dword [0x10277c5c]
mulss xmm0, dword [0x10277c5c]
movss xmm7, dword [0x103c8ac8]
addss xmm1, dword [0x103c8acc]
movss dword [ebp - 0x74], xmm0
subss xmm1, xmm0
movaps xmm0, xmm7
addss xmm0, dword [0x10277de8]
movss dword [ebp - 0x6c], xmm1
movss dword [ebp - 0x70], xmm0
test esi, 0xff000000
je 0x100c088b
mov edx, dword [edi + 0x3c]
mov ecx, dword [edi + 0x44]
add edx, edx
mov eax, dword [edi + 0x28]
push 0
push ecx
movups xmm0, xmmword [ecx + edx*8 - 0x10]
lea ecx, [ebp - 0x24]
mov dword [esp], 0
movss xmm2, dword [eax + 0xc]
push 0x10270a95
push 0x10270a94
push ecx
mov ecx, dword [eax + 8]
push esi
push dword [ebp - 0x6c]
movups xmmword [ebp - 0x24], xmm0
push dword [ebp - 0x70]
push edi
call fcn.100f6e80
movss xmm6, dword [0x103c8ad4]
movss xmm7, dword [0x103c8ac8]
cmp dword [0x103bdb5c], 2
jg 0x100c0933
movaps xmm0, xmmword [0x10278340]
lea ecx, [ebp - 0x24]
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
movaps xmm1, xmm6
movaps xmm0, xmm7
mulss xmm1, dword [0x10277c5c]
mov esi, eax
addss xmm0, dword [0x10277de8]
addss xmm1, dword [0x103c8acc]
movss dword [ebp - 0x70], xmm0
subss xmm1, dword [ebp - 0x74]
movss dword [ebp - 0x6c], xmm1
test esi, 0xff000000
je 0x100c0933
mov edx, dword [edi + 0x3c]
mov ecx, dword [edi + 0x44]
add edx, edx
mov eax, dword [edi + 0x28]
push 0
push ecx
movups xmm0, xmmword [ecx + edx*8 - 0x10]
lea ecx, [ebp - 0x24]
mov dword [esp], 0
movss xmm2, dword [eax + 0xc]
push 0x10270a95
push 0x10270a94
push ecx
mov ecx, dword [eax + 8]
push esi
push dword [ebp - 0x6c]
movups xmmword [ebp - 0x24], xmm0
push dword [ebp - 0x70]
push edi
call fcn.100f6e80
movss xmm6, dword [0x103c8ad4]
movss xmm7, dword [0x103c8ac8]
mulss xmm6, dword [0x10277c5c]
mov ecx, 0x5a
mov esi, 0x5a
addss xmm7, dword [0x10277e58]
movaps xmm0, xmmword [0x102784c0]
addss xmm6, dword [0x103c8acc]
movss xmm1, dword [ebp - 0x74]
movups xmmword [ebp - 0x24], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10277d90]
addss xmm1, dword [0x10277d04]
cvttss2si eax, xmm6
mov dword [ebp - 0xb0], eax
cvttss2si eax, xmm7
mov dword [ebp - 0xa8], eax
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x78]
mulss xmm0, dword [0x102780f4]
mov dword [ebp - 0x74], eax
cvttss2si eax, xmm1
mov dword [ebp - 0x78], esi
mov dword [ebp - 0xac], eax
cvttss2si eax, xmm0
sub ecx, eax
mov dword [ebp - 0x68], ecx
cmp ecx, esi
jle 0x100c0b10
lea ecx, [ebp - 0x24]
call fcn.100c7910
mov edi, dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
nop dword [eax]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mov ecx, dword [0x103babc8]
mov eax, dword [ecx + 0x19ec]
mulsd xmm0, qword [0x10277d20]
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x19ec]
divsd xmm0, qword [0x10277d80]
mov esi, dword [eax + 0x26c]
movsd qword [ebp - 0x60], xmm0
call fcn.101d5e80
movd xmm1, dword [ebp - 0x74]
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movd xmm1, dword [ebp - 0xa8]
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x68], xmm0
movsd xmm0, qword [ebp - 0x60]
call fcn.101d73b0
movd xmm1, dword [ebp - 0x74]
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movd xmm1, dword [ebp - 0xb0]
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x80], xmm0
movsd xmm0, qword [ebp - 0x60]
movss dword [ebp - 0x7c], xmm1
call fcn.101d5e80
movd xmm1, dword [ebp - 0xac]
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movd xmm1, dword [ebp - 0xa8]
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x68], xmm0
movsd xmm0, qword [ebp - 0x60]
call fcn.101d73b0
movd xmm1, dword [ebp - 0xac]
lea eax, [ebp - 0x80]
cvtdq2pd xmm1, xmm1
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push dword [ebp - 0x6c]
mulsd xmm0, xmm1
push eax
movd xmm1, dword [ebp - 0xb0]
lea eax, [ebp - 0x1c]
cvtdq2pd xmm1, xmm1
push eax
addsd xmm0, xmm1
movss xmm1, dword [ebp - 0x68]
movss dword [ebp - 0x1c], xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x18], xmm0
call fcn.100f3cc0
mov esi, dword [ebp - 0x78]
inc esi
mov dword [ebp - 0x78], esi
cmp esi, edi
jl 0x100c09d0
mov edi, dword [ebp - 0x8c]
call fcn.100e3b10
mov ecx, dword [0x103babb4]
call fcn.100e39f0
movaps xmm0, xmmword [0x102782b0]
lea ecx, [ebp - 0x24]
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
movss xmm2, dword [0x103c8acc]
movss xmm1, dword [0x103c8ac8]
movaps xmm0, xmm2
addss xmm1, dword [0x10277eb4]
addss xmm0, dword [0x10277e9c]
addss xmm2, dword [0x10277de8]
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push eax
lea eax, [ebp - 0x1c]
movss dword [ebp - 0x1c], xmm1
push eax
lea eax, [ebp - 0x80]
movss dword [ebp - 0x18], xmm0
push eax
movss dword [ebp - 0x80], xmm1
movss dword [ebp - 0x7c], xmm2
call fcn.100f3cc0
movaps xmm0, xmmword [0x102784c0]
lea ecx, [ebp - 0x24]
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
movss xmm1, dword [0x103c8acc]
mov esi, eax
movss xmm0, dword [0x103c8ac8]
addss xmm1, dword [0x10277dd4]
addss xmm0, dword [0x10277ec8]
movss dword [ebp - 0x5c], xmm1
movss dword [ebp - 0x60], xmm0
test esi, 0xff000000
je 0x100c0c12
mov edx, dword [edi + 0x3c]
mov ecx, dword [edi + 0x44]
add edx, edx
mov eax, dword [edi + 0x28]
push 0
push ecx
movups xmm0, xmmword [ecx + edx*8 - 0x10]
lea ecx, [ebp - 0x24]
mov dword [esp], 0
movss xmm2, dword [eax + 0xc]
push 0x10274796
push str.Time:
push ecx
mov ecx, dword [eax + 8]
push esi
push dword [ebp - 0x5c]
movups xmmword [ebp - 0x24], xmm0
push dword [ebp - 0x60]
push edi
call fcn.100f6e80
cvttss2si edx, dword [ebp - 0x64]
lea ecx, [ebp - 0xc8]
call fcn.100c4420
mov dword [ebp - 4], 1
lea esi, [ebp - 0xc8]
cmp dword [ebp - 0xb4], 0xf
lea ecx, [ebp - 0x24]
movaps xmm0, xmmword [0x10278510]
cmova esi, dword [ebp - 0xc8]
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
movss xmm0, dword [0x103c8acc]
mov edx, dword [0x103babc8]
addss xmm0, dword [0x10277dd4]
movss xmm3, dword [0x10278040]
push ecx
movss xmm2, dword [edx + 0x190c]
push 0
push str.Time:
push ecx
mov ecx, dword [edx + 0x1908]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x1c]
mov dword [esp], 0xbf800000
push eax
movss dword [ebp - 0x6c], xmm0
call fcn.100f6cd0
test dword [ebp - 0x64], 0xff000000
movss xmm0, dword [ebp - 0x1c]
addss xmm0, dword [0x10277ca0]
cvttss2si eax, xmm0
movss xmm0, dword [0x103c8ac8]
addss xmm0, dword [0x10277ec8]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x5c], xmm0
movss dword [ebp - 0x60], xmm1
je 0x100c0d36
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c0ce6
sub ecx, edx
lea eax, [esi + ecx]
mov dword [ebp - 0x6c], eax
cmp esi, eax
je 0x100c0d36
mov ecx, dword [edi + 0x44]
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x28]
add edx, edx
push 0
push ecx
mov dword [esp], 0
push dword [ebp - 0x6c]
movups xmm0, xmmword [ecx + edx*8 - 0x10]
lea ecx, [ebp - 0x24]
movss xmm2, dword [eax + 0xc]
push esi
push ecx
push dword [ebp - 0x64]
mov ecx, dword [eax + 8]
push dword [ebp - 0x5c]
movups xmmword [ebp - 0x24], xmm0
push dword [ebp - 0x60]
push edi
call fcn.100f6e80
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xb4]
cmp ecx, 0xf
jbe 0x100c0d77
mov edx, dword [ebp - 0xc8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c0d6d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c15a6
push ecx
push edx
call fcn.101ab3ee
add esp, 8
call fcn.100e3b10
movq xmm0, qword [0x103c3a2c]
sub esp, 0xc
mov eax, dword [0x103c3a34]
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [0x103bc948]
add eax, 0xffffffdf
xor eax, 0xffcb1a4
add eax, dword [0x103c3e20]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.1013fe20
lea eax, [ebp - 0x6c]
movss dword [ebp - 0x6c], xmm0
push eax
mov edx, str._iFT
lea ecx, [ebp - 0x3c]
call fcn.100c4a40
add esp, 4
mov dword [ebp - 4], 2
cmp byte [0x103bcbd4], 0
je 0x100c0e60
cmp byte [0x103c3a18], 0
jne 0x100c0e60
mov edx, 0x102747a8
lea ecx, [ebp - 0xa4]
call fcn.10025df0
push eax
lea ecx, [ebp - 0x3c]
call fcn.1002c580
mov ecx, dword [ebp - 0x90]
cmp ecx, 0xf
jbe 0x100c0e45
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c0e3b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c15ab
push ecx
push edx
call fcn.101ab3ee
add esp, 8
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
mov ecx, dword [0x103babb4]
call fcn.100e39f0
movaps xmm0, xmmword [0x102782b0]
lea ecx, [ebp - 0x24]
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
movss xmm3, dword [0x103c8acc]
movss xmm2, dword [0x103c8ac8]
movaps xmm1, xmm3
addss xmm1, dword [0x10277e9c]
addss xmm3, dword [0x10277de8]
push ecx
mov dword [esp], 0x3f800000
movaps xmm0, xmm2
addss xmm0, dword [0x10277eb4]
addss xmm2, dword [0x10277ec0]
push eax
lea eax, [ebp - 0x1c]
movss dword [ebp - 0x18], xmm1
push eax
lea eax, [ebp - 0x80]
movss dword [ebp - 0x1c], xmm0
push eax
mov ecx, edi
movss dword [ebp - 0x80], xmm2
movss dword [ebp - 0x7c], xmm3
call fcn.100f3cc0
movaps xmm0, xmmword [0x102784c0]
lea ecx, [ebp - 0x24]
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
movss xmm6, dword [0x103c8acc]
mov esi, eax
movss xmm0, dword [0x103c8ac8]
movaps xmm1, xmm6
addss xmm1, dword [0x10277dd4]
addss xmm0, dword [0x10277f1c]
movss dword [ebp - 0x5c], xmm1
movss dword [ebp - 0x60], xmm0
test esi, 0xff000000
je 0x100c0f73
mov edx, dword [edi + 0x3c]
mov ecx, dword [edi + 0x44]
add edx, edx
mov eax, dword [edi + 0x28]
push 0
push ecx
movups xmm0, xmmword [ecx + edx*8 - 0x10]
lea ecx, [ebp - 0x24]
mov dword [esp], 0
movss xmm2, dword [eax + 0xc]
push 0x102747c6
push str.Dist:
push ecx
mov ecx, dword [eax + 8]
push esi
push dword [ebp - 0x5c]
movups xmmword [ebp - 0x24], xmm0
push dword [ebp - 0x60]
push edi
call fcn.100f6e80
movss xmm6, dword [0x103c8acc]
cmp dword [ebp - 0x28], 0xf
lea esi, [ebp - 0x3c]
movaps xmm0, xmmword [0x10278510]
lea ecx, [ebp - 0x24]
cmova esi, dword [ebp - 0x3c]
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
mov edx, dword [0x103babc8]
addss xmm6, dword [0x10277dd4]
movss xmm3, dword [0x10278040]
push ecx
movss xmm2, dword [edx + 0x190c]
push 0
push str.Dist:
push ecx
mov ecx, dword [edx + 0x1908]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x1c]
mov dword [esp], 0xbf800000
push eax
movss dword [ebp - 0x68], xmm6
call fcn.100f6cd0
test dword [ebp - 0x64], 0xff000000
movss xmm0, dword [ebp - 0x1c]
addss xmm0, dword [0x10277ca0]
cvttss2si eax, xmm0
movss xmm0, dword [0x103c8ac8]
addss xmm0, dword [0x10277f1c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x5c], xmm0
movss dword [ebp - 0x60], xmm1
je 0x100c1070
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c1020
sub ecx, edx
lea eax, [esi + ecx]
mov dword [ebp - 0x68], eax
cmp esi, eax
je 0x100c1070
mov ecx, dword [edi + 0x44]
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x28]
add edx, edx
push 0
push ecx
mov dword [esp], 0
push dword [ebp - 0x68]
movups xmm0, xmmword [ecx + edx*8 - 0x10]
lea ecx, [ebp - 0x24]
movss xmm2, dword [eax + 0xc]
push esi
push ecx
push dword [ebp - 0x64]
mov ecx, dword [eax + 8]
push dword [ebp - 0x5c]
movups xmmword [ebp - 0x24], xmm0
push dword [ebp - 0x60]
push edi
call fcn.100f6e80
call fcn.100e3b10
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x100c10b0
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c10a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c15b0
push ecx
push edx
call fcn.101ab3ee
add esp, 8
mov ecx, dword [0x103babb4]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
call fcn.100e39f0
movaps xmm0, xmmword [0x102782b0]
lea ecx, [ebp - 0x24]
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
movss xmm2, dword [0x103c8acc]
movss xmm1, dword [0x103c8ac8]
movaps xmm0, xmm2
addss xmm1, dword [0x10277eb4]
addss xmm0, dword [0x10277e9c]
addss xmm2, dword [0x10277de8]
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push eax
lea eax, [ebp - 0x1c]
movss dword [ebp - 0x1c], xmm1
push eax
lea eax, [ebp - 0x80]
movss dword [ebp - 0x18], xmm0
push eax
movss dword [ebp - 0x80], xmm1
movss dword [ebp - 0x7c], xmm2
call fcn.100f3cc0
movaps xmm0, xmmword [0x102784c0]
lea ecx, [ebp - 0x24]
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
movss xmm1, dword [0x103c8acc]
mov esi, eax
movss xmm0, dword [0x103c8ac8]
addss xmm1, dword [0x10277e58]
addss xmm0, dword [0x10277ec8]
movss dword [ebp - 0x5c], xmm1
movss dword [ebp - 0x60], xmm0
test esi, 0xff000000
je 0x100c11bf
mov edx, dword [edi + 0x3c]
mov ecx, dword [edi + 0x44]
add edx, edx
mov eax, dword [edi + 0x28]
push 0
push ecx
movups xmm0, xmmword [ecx + edx*8 - 0x10]
lea ecx, [ebp - 0x24]
mov dword [esp], 0
movss xmm2, dword [eax + 0xc]
push 0x102747bc
push str.Damage:
push ecx
mov ecx, dword [eax + 8]
push esi
push dword [ebp - 0x5c]
movups xmmword [ebp - 0x24], xmm0
push dword [ebp - 0x60]
push edi
call fcn.100f6e80
mov edx, dword [0x103c3a68]
lea ecx, [ebp - 0xe0]
call fcn.100c4420
mov dword [ebp - 4], 3
lea esi, [ebp - 0xe0]
cmp dword [ebp - 0xcc], 0xf
lea ecx, [ebp - 0x24]
cmova esi, dword [ebp - 0xe0]
cmp dword [0x103c3a68], 0x5a
jge 0x100c1200
movaps xmm0, xmmword [0x10278510]
jmp 0x100c1207
movaps xmm0, xmmword [0x102783c0]
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
movss xmm0, dword [0x103c8acc]
mov edx, dword [0x103babc8]
addss xmm0, dword [0x10277e58]
movss xmm3, dword [0x10278040]
push ecx
movss xmm2, dword [edx + 0x190c]
push 0
push str.Damage:
push ecx
mov ecx, dword [edx + 0x1908]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x1c]
mov dword [esp], 0xbf800000
push eax
movss dword [ebp - 0x6c], xmm0
call fcn.100f6cd0
test dword [ebp - 0x64], 0xff000000
movss xmm0, dword [ebp - 0x1c]
addss xmm0, dword [0x10277ca0]
cvttss2si eax, xmm0
movss xmm0, dword [0x103c8ac8]
addss xmm0, dword [0x10277ec8]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x5c], xmm0
movss dword [ebp - 0x60], xmm1
je 0x100c12f6
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c12a6
sub ecx, edx
lea eax, [ecx + esi]
mov dword [ebp - 0x6c], eax
cmp esi, eax
je 0x100c12f6
mov ecx, dword [edi + 0x44]
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x28]
add edx, edx
push 0
push ecx
mov dword [esp], 0
push dword [ebp - 0x6c]
movups xmm0, xmmword [ecx + edx*8 - 0x10]
lea ecx, [ebp - 0x24]
movss xmm2, dword [eax + 0xc]
push esi
push ecx
push dword [ebp - 0x64]
mov ecx, dword [eax + 8]
push dword [ebp - 0x5c]
movups xmmword [ebp - 0x24], xmm0
push dword [ebp - 0x60]
push edi
call fcn.100f6e80
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0xf
jbe 0x100c1337
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c132d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c15b5
push ecx
push edx
call fcn.101ab3ee
add esp, 8
call fcn.100e3b10
mov ecx, dword [0x103babb4]
call fcn.100e39f0
mov ecx, 1
mov dword [ebp - 0x94], 0
cmp dword [0x103c3a7c], ecx
mov eax, 0x103c3a6c
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
cmovb ecx, dword [0x103c3a7c]
cmp dword [0x103c3a80], 0xf
push ecx
cmova eax, dword [0x103c3a6c]
lea ecx, [ebp - 0xa4]
push eax
movups xmmword [ebp - 0xa4], xmm0
call fcn.10019250
lea eax, [ebp - 0xa4]
mov dword [ebp - 4], 4
push eax
mov edx, str.Plant:__s
lea ecx, [ebp - 0x54]
call fcn.1002e4f0
add esp, 4
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x90]
cmp ecx, 0xf
jbe 0x100c13f3
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c13e9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c15ba
push ecx
push edx
call fcn.101ab3ee
add esp, 8
movaps xmm0, xmmword [0x102782b0]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
movss xmm3, dword [0x103c8acc]
movss xmm2, dword [0x103c8ac8]
movaps xmm1, xmm3
addss xmm1, dword [0x10277e9c]
addss xmm3, dword [0x10277de8]
push ecx
mov dword [esp], 0x3f800000
movaps xmm0, xmm2
addss xmm0, dword [0x10277eb4]
addss xmm2, dword [0x10277eb8]
push eax
lea eax, [ebp - 0x1c]
movss dword [ebp - 0x18], xmm1
push eax
lea eax, [ebp - 0x80]
movss dword [ebp - 0x1c], xmm0
push eax
mov ecx, edi
movss dword [ebp - 0x80], xmm2
movss dword [ebp - 0x7c], xmm3
call fcn.100f3cc0
cmp dword [ebp - 0x40], 0xf
lea esi, [ebp - 0x54]
movaps xmm0, xmmword [0x102784c0]
lea ecx, [ebp - 0x24]
cmova esi, dword [ebp - 0x54]
movups xmmword [ebp - 0x24], xmm0
call fcn.100c7910
movss xmm1, dword [0x103c8acc]
movss xmm0, dword [0x103c8ac8]
mov dword [ebp - 0x68], eax
addss xmm1, dword [0x10277e58]
addss xmm0, dword [0x10277f34]
movss dword [ebp - 0x5c], xmm1
movss dword [ebp - 0x60], xmm0
test eax, 0xff000000
je 0x100c1530
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c14e0
sub ecx, edx
lea eax, [esi + ecx]
mov dword [ebp - 0x6c], eax
cmp esi, eax
je 0x100c1530
mov ecx, dword [edi + 0x44]
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x28]
add edx, edx
push 0
push ecx
mov dword [esp], 0
push dword [ebp - 0x6c]
movups xmm0, xmmword [ecx + edx*8 - 0x10]
lea ecx, [ebp - 0x24]
movss xmm2, dword [eax + 0xc]
push esi
push ecx
push dword [ebp - 0x68]
mov ecx, dword [eax + 8]
push dword [ebp - 0x5c]
movups xmmword [ebp - 0x24], xmm0
push dword [ebp - 0x60]
push edi
call fcn.100f6e80
call fcn.100e3b10
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x40]
cmp ecx, 0xf
jbe 0x100c156c
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c1562
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c15bf
push ecx
push edx
call fcn.101ab3ee
add esp, 8
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
call fcn.100e3390
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101aaebb
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.101b237e
call fcn.101b237e
call fcn.101b237e
call fcn.101b237e
call fcn.101b237e
call fcn.101b237e
call fcn.101b237e
int3