Function at 0x10089ab0
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x34a8
call fcn.101e2a60
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], ecx
push esi
mov esi, dword [ebp + 0xc]
push edi
movq xmm0, qword [esi]
mov eax, dword [esi + 8]
movq qword [esp + 0x94], xmm0
movq xmm0, xmm0
mov dword [esp + 0x9c], eax
movq qword [esp + 0x4c], xmm0
mov dword [esp + 0x54], eax
test ecx, ecx
je 0x1008d361
call fcn.10176800
test al, al
je 0x1008d361
mov ecx, dword [esp + 0x1c]
call fcn.101758d0
test al, al
je 0x1008d361
mov eax, dword fs:[0x2c]
mov ecx, dword [0x102999e4]
mov dword [esp + 0x20], eax
mov esi, dword [eax + ecx*4]
mov eax, dword [0x102ba254]
cmp eax, dword [esi + 4]
jle 0x10089b7f
push 0x102ba254
call fcn.101e23b9
add esp, 4
cmp dword [0x102ba254], 0xffffffff
jne 0x10089b7f
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 2
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.10003910
push 0x102ba254
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [0x102ba258], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x102ba25c]
cmp eax, dword [esi + 4]
jle 0x10089bc9
push 0x102ba25c
call fcn.101e23b9
add esp, 4
cmp dword [0x102ba25c], 0xffffffff
jne 0x10089bc9
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.10003910
push 0x102ba25c
call fcn.101e236f
add esp, 4
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [0x1029a388]
je 0x10089be8
push dword [0x102a5680]
call fcn.10178a30
test al, al
je 0x10089be8
mov cl, 1
jmp 0x10089bea
xor cl, cl
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x1b], cl
cmp eax, dword [0x1029a388]
jne 0x10089c05
mov edi, dword [0x102b1b68]
jmp 0x10089d50
test cl, cl
je 0x10089cbf
cmp byte [0x102b1b37], 0
je 0x10089c23
cmp byte [0x102a5688], 0
jne 0x1008d361
mov ecx, dword [esp + 0x1c]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [esp + 0x200]
push ecx
push eax
call fcn.100043c0
test al, al
je 0x10089c89
cmp byte [esp + 0x33c], 0
jne 0x10089c89
cmp byte [esp + 0x33d], 0
jne 0x10089c89
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x20c]
mov dword [esp + 0x108], eax
lea eax, [esp + 0x108]
mov dword [esp + 0x10c], ecx
mov ecx, 0x102a5700
push eax
call fcn.100f7520
mov eax, dword [eax]
jmp 0x10089c8b
xor eax, eax
sub eax, 0
je 0x10089cb4
sub eax, 1
je 0x10089ca9
sub eax, 1
jne 0x1008d361
mov edi, dword [0x102b1b58]
jmp 0x10089d50
mov edi, dword [0x102b1b54]
jmp 0x10089d50
mov edi, dword [0x102b1b50]
jmp 0x10089d50
mov ecx, dword [esp + 0x1c]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [esp + 0x358]
push ecx
push eax
call fcn.100043c0
test al, al
je 0x10089d25
cmp byte [esp + 0x494], 0
jne 0x10089d25
cmp byte [esp + 0x495], 0
jne 0x10089d25
mov eax, dword [esp + 0x360]
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x8c], ecx
mov ecx, 0x102a5700
push eax
call fcn.100f7520
mov eax, dword [eax]
jmp 0x10089d27
xor eax, eax
sub eax, 0
je 0x10089d4a
sub eax, 1
je 0x10089d42
sub eax, 1
jne 0x1008d361
mov edi, dword [0x102b1b64]
jmp 0x10089d50
mov edi, dword [0x102b1b60]
jmp 0x10089d50
mov edi, dword [0x102b1b5c]
mov dword [esp + 0x48], edi
test edi, edi
je 0x1008d361
cmp byte [edi], 0
je 0x1008d361
cmp byte [edi + 0x108], 0
je 0x10089dfc
cmp byte [esp + 0x1b], 0
je 0x10089e0a
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [0x102b336c]
cmp eax, dword [esi + 4]
jle 0x10089def
push 0x102b336c
call fcn.101e23b9
add esp, 4
cmp dword [0x102b336c], 0xffffffff
jne 0x10089def
mov esi, dword [0x102b25b0]
mov eax, dword [0x102b25b4]
cmp esi, eax
je 0x10089ddb
cmp dword [esi], 0x1eee87cc
jne 0x10089dd4
mov edx, 0x6de4f1ca
mov ecx, esi
call fcn.10170b40
test eax, eax
jne 0x10089ddd
mov eax, dword [0x102b25b4]
add esi, 0x24
cmp esi, eax
jne 0x10089db7
xor eax, eax
push 0x102b336c
mov dword [0x102b3370], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x102b3370]
mov ecx, dword [esp + 0x24]
mov byte [ecx + eax], 1
cmp byte [esp + 0x1b], 0
je 0x10089e0a
mov byte [esp + 0x43], 0
jmp 0x10089e24
mov ecx, dword [esp + 0x1c]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov byte [esp + 0x43], al
test al, al
jne 0x1008d361
mov ecx, dword [esp + 0x1c]
add ecx, 8
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
call edx
mov esi, eax
mov al, byte [esp + 0x1b]
mov dword [esp + 0x44], esi
test al, al
je 0x1008a08b
mov ecx, dword [esp + 0x1c]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
cmp byte [ebp + 0x14], 0
mov byte [esp + 0x43], al
je 0x1008a062
test al, al
je 0x1008a03c
cmp dword [0x1029a490], 0
je 0x10089fa5
cmp byte [0x102b1b35], 0
je 0x10089fa5
cmp byte [esi + 0x102b1db0], 0
jne 0x10089fa5
mov ecx, dword [esp + 0x1c]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul ecx, eax, 0x174
mov eax, dword [0x1029a490]
add eax, 0xc4
add eax, ecx
mov dword [esp + 0x28], eax
je 0x10089fa5
cmp dword [eax + 0xd0], esi
jne 0x10089fa5
cmp byte [eax + 0x171], 3
jne 0x10089fa5
cmp dword [eax + 0xd8], 0
jle 0x10089fa5
mov edi, dword [0x102999e4]
add eax, 0x88
mov edx, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov ecx, dword [edx + edi*4]
mov eax, dword [0x102bbb68]
mov edi, dword [esp + 0x48]
cmp eax, dword [ecx + 4]
jle 0x10089f57
push 0x102bbb68
call fcn.101e23b9
add esp, 4
cmp dword [0x102bbb68], 0xffffffff
jne 0x10089f57
lea eax, [esp + 0x24]
mov dword [esp + 0x24], str.SetAbsOrigin
push eax
lea eax, [esp + 0x64]
mov ecx, 0x102a57d4
push eax
call fcn.10006340
push 0x102bbb68
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [0x102bbb6c], eax
call fcn.101e236f
add esp, 4
push dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
call dword [0x102bbb6c]
mov ecx, dword [esp + 0x1c]
call fcn.10034cc0
mov edx, dword [esp + 0x14]
mov byte [esi + 0x102b1c70], 1
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0xd8]
mov dword [esi*4 + 0x102b1cb0], eax
mov dword [esi*4 + 0x102b1b70], 0x43700000
mov eax, dword [0x1029a41c]
movss xmm1, dword [esi*4 + 0x102b1b70]
movss xmm2, dword [0x1026bd34]
movss xmm0, dword [eax + 0x14]
mulss xmm0, dword [0x1026bc84]
subss xmm1, xmm0
comiss xmm1, xmm2
jbe 0x10089ff6
movss dword [esi*4 + 0x102b1b70], xmm2
movaps xmm1, xmm2
cvttss2si eax, xmm1
mov dword [esp + 0x28], eax
test eax, eax
je 0x1008d361
mov al, byte [esp + 0x1b]
jmp 0x1008a093
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1008a01d
mov dword [esi*4 + 0x102b1b70], 0
mov byte [esi + 0x102b1db0], 0
mov byte [esi + 0x102b1c70], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss dword [esi*4 + 0x102b1b70], xmm1
jb 0x10089fdd
mov byte [esi + 0x102b1db0], 0
mov byte [esi + 0x102b1c70], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm1, dword [0x1026bd34]
mov byte [esi + 0x102b1c70], 0
mov byte [esi + 0x102b1db0], 0
mov dword [esi*4 + 0x102b1b70], 0x437f0000
jmp 0x10089fdd
movss xmm1, dword [esi*4 + 0x102b1b70]
xorps xmm0, xmm0
comiss xmm0, xmm1
jb 0x10089fdd
mov byte [esi + 0x102b1c70], 0
mov byte [esi + 0x102b1db0], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x28], 0xff
cmp byte [0x102b1b36], 0
je 0x1008b13d
cmp byte [esi + 0x102b1db0], 0
je 0x1008b13d
cmp byte [esp + 0x43], 0
je 0x1008b13d
mov edx, dword [0x102b1df4]
xor esi, esi
test edx, edx
jle 0x1008d361
mov eax, dword [esp + 0x44]
mov ecx, 0x102a4b90
cmp dword [ecx], eax
cmove esi, ecx
add ecx, 0x40
sub edx, 1
jne 0x1008a0d1
mov dword [esp + 0x10], esi
test esi, esi
je 0x1008d361
mov ecx, dword [esp + 0x2c]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 0x18]
mov dword [esp + 0xa4], edx
push eax
lea edx, [esp + 0x9c]
call fcn.10085a90
add esp, 8
test al, al
je 0x1008ac85
mov eax, dword [esp + 0x28]
push ecx
push 0xc8191919
movzx ecx, al
movzx eax, byte [edi + 0xa]
push 0xff0000ff
shl ecx, 8
sub esp, 0x10
or ecx, eax
movzx eax, byte [edi + 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 8]
push 0x64191919
push 0xffffffffffffffff
shl ecx, 8
or ecx, eax
push ecx
push dword [edi + 4]
lea ecx, [esp + 0x144]
push dword [0x102ba258]
call fcn.1007b3d0
mov edx, dword [esp + 0x138]
push ecx
mov ecx, dword [esp + 0x138]
call fcn.10082780
movups xmm0, xmmword [esp + 0x98]
mov ecx, dword [esp + 0x138]
add esp, 4
cmp byte [edi + 0xc], 0
mov eax, dword [esp + 0x154]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x158], eax
movups xmmword [esp + 0x11c], xmm0
je 0x1008a29a
mov al, byte [edi + 0xd]
mov byte [esp + 0x14], al
mov al, byte [edi + 0xe]
mov byte [esp + 0x15], al
mov al, byte [edi + 0xf]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x17], al
mov eax, dword [edi + 0x14]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x4b0]
push eax
push dword [esi]
call fcn.100043c0
test al, al
mov dword [esp + 0xc8], 0
mov ecx, 0x102383a2
mov dword [esp + 0xd8], 0
lea edx, [esp + 0x4c0]
mov dword [esp + 0xdc], 0xf
cmove edx, ecx
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x44], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1008a220
sub ecx, dword [esp + 0x44]
push ecx
push edx
lea ecx, [esp + 0xd0]
call fcn.1000d310
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x140]
call fcn.1007bd10
mov edx, dword [esp + 0xdc]
cmp edx, 0x10
jb 0x1008a293
mov ecx, dword [esp + 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008a289
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d36c
push edx
push ecx
call fcn.101e1f2f
add esp, 8
mov ecx, dword [esp + 0x138]
cmp byte [edi + 0x18], 0
je 0x1008a3ac
mov al, byte [edi + 0x19]
lea ecx, [esp + 0xc8]
mov edx, dword [esi + 0x10]
mov byte [esp + 0x14], al
mov al, byte [edi + 0x1a]
mov byte [esp + 0x15], al
mov al, byte [edi + 0x1b]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x17], al
mov eax, dword [edi + 0x20]
mov dword [esp + 0x44], eax
call fcn.10020a00
push str.HP:
push 0
mov ecx, eax
call fcn.100214c0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xe0], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [esp + 0xdc]
movq qword [esp + 0xf0], xmm0
cmp edx, 0x10
jb 0x1008a34b
mov ecx, dword [esp + 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008a341
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d367
push edx
push ecx
call fcn.101e1f2f
add esp, 8
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x140]
call fcn.1007bd10
mov edx, dword [esp + 0xf4]
cmp edx, 0x10
jb 0x1008a3a5
mov ecx, dword [esp + 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008a39b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d36c
push edx
push ecx
call fcn.101e1f2f
add esp, 8
mov ecx, dword [esp + 0x138]
cmp byte [edi + 0x24], 0
je 0x1008a4a7
mov al, byte [edi + 0x25]
mov esi, dword [esp + 0x1c]
mov ecx, esi
mov byte [esp + 0x14], al
mov al, byte [edi + 0x26]
mov byte [esp + 0x15], al
mov al, byte [edi + 0x27]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x17], al
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x24], eax
call fcn.10004100
mov ecx, esi
mov eax, dword [eax]
mov dword [esp + 0x44], eax
call fcn.10033d40
mov al, byte [eax]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0xf
test al, al
je 0x1008a42a
push 0x1025deec
lea ecx, [esp + 0xcc]
call fcn.10025030
cmp dword [esp + 0x44], 0
jle 0x1008a442
push 0x1025def0
lea ecx, [esp + 0xcc]
call fcn.10025030
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x140]
call fcn.1007bd10
mov edx, dword [esp + 0xdc]
cmp edx, 0x10
jb 0x1008a49c
mov ecx, dword [esp + 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008a492
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d371
push edx
push ecx
call fcn.101e1f2f
add esp, 8
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x138]
cmp byte [edi + 0x48], 0
je 0x1008a55e
call fcn.101792c0
movzx ecx, byte [esi + 0x30]
add esi, 0x30
xor ecx, 0x811c9dc5
mov dword [esp + 0x14], eax
imul edx, ecx, 0x1000193
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 3]
xor edx, ecx
movzx ecx, byte [esi + 2]
imul edx, edx, 0x1000193
xor edx, ecx
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [esp + 0x14]
push eax
push esi
lea eax, [esp + 0x68]
push eax
call fcn.10006b20
mov esi, dword [eax + 4]
test esi, esi
jne 0x1008a50f
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 4]
call fcn.101792c0
cmp esi, dword [eax + 4]
je 0x1008a557
mov al, byte [edi + 0x49]
lea ecx, [esp + 0x134]
mov byte [esp + 0x14], al
mov al, byte [edi + 0x4a]
mov byte [esp + 0x15], al
mov al, byte [edi + 0x4b]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x17], al
mov eax, dword [edi + 0x50]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esi + 0xc]
push eax
call fcn.1007bd10
mov ecx, dword [esp + 0x138]
cmp byte [edi + 0x30], 0
mov esi, dword [esp + 0x10]
je 0x1008a67c
mov edx, dword [esi + 0x34]
test edx, edx
jle 0x1008a67c
mov al, byte [edi + 0x31]
lea ecx, [esp + 0xc8]
mov byte [esp + 0x14], al
mov al, byte [edi + 0x32]
mov byte [esp + 0x15], al
mov al, byte [edi + 0x33]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x17], al
mov eax, dword [edi + 0x38]
mov dword [esp + 0x44], eax
call fcn.10020a00
push str.Ammo:
push 0
mov ecx, eax
call fcn.100214c0
lea ecx, [esp + 0x134]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xe0], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x48]
movq qword [esp + 0xf4], xmm0
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.1007bd10
mov edx, dword [esp + 0xf4]
cmp edx, 0x10
jb 0x1008a639
mov ecx, dword [esp + 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008a62f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d376
push edx
push ecx
call fcn.101e1f2f
add esp, 8
mov edx, dword [esp + 0xdc]
cmp edx, 0x10
jb 0x1008a675
mov ecx, dword [esp + 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008a66b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d376
push edx
push ecx
call fcn.101e1f2f
add esp, 8
mov ecx, dword [esp + 0x138]
cmp byte [edi + 0x3c], 0
je 0x1008a719
mov al, byte [edi + 0x3d]
lea ecx, [esp + 0x4c]
mov byte [esp + 0x14], al
mov al, byte [edi + 0x3e]
mov byte [esp + 0x15], al
mov al, byte [edi + 0x3f]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x17], al
mov eax, dword [edi + 0x44]
mov dword [esp + 0x44], eax
lea eax, [esi + 4]
push eax
lea eax, [esp + 0xe4]
push eax
call fcn.1008d670
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x48]
push ecx
push eax
lea ecx, [esp + 0x140]
call fcn.1007bd10
mov edx, dword [esp + 0xf4]
cmp edx, 0x10
jb 0x1008a712
mov ecx, dword [esp + 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008a708
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d37b
push edx
push ecx
call fcn.101e1f2f
add esp, 8
mov ecx, dword [esp + 0x138]
cmp byte [edi + 0x54], 0
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x48], eax
je 0x1008a79b
test al, 1
je 0x1008a79b
mov al, byte [edi + 0x55]
mov byte [esp + 0x20], al
mov al, byte [edi + 0x56]
mov byte [esp + 0x21], al
mov al, byte [edi + 0x57]
mov byte [esp + 0x22], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x23], al
mov eax, dword [edi + 0x5c]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
push str.Scoped
cmp ecx, dword [esp + 0x148]
je 0x1008a783
mov edx, ecx
call fcn.10081550
mov ecx, dword [esp + 0x144]
add esp, 0xc
add ecx, 0x3c
mov dword [esp + 0x138], ecx
jmp 0x1008a797
push ecx
lea ecx, [esp + 0x144]
call fcn.10081630
mov ecx, dword [esp + 0x138]
mov eax, dword [esp + 0x48]
cmp byte [edi + 0x60], 0
je 0x1008a814
shr eax, 1
test al, 1
je 0x1008a814
mov al, byte [edi + 0x61]
mov byte [esp + 0x20], al
mov al, byte [edi + 0x62]
mov byte [esp + 0x21], al
mov al, byte [edi + 0x63]
mov byte [esp + 0x22], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x23], al
mov eax, dword [edi + 0x68]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
push str.Defusing
cmp ecx, dword [esp + 0x148]
je 0x1008a800
mov edx, ecx
call fcn.10081550
mov ecx, dword [esp + 0x144]
add esp, 0xc
add ecx, 0x3c
mov dword [esp + 0x138], ecx
jmp 0x1008a814
push ecx
lea ecx, [esp + 0x144]
call fcn.10081630
mov ecx, dword [esp + 0x138]
cmp byte [edi + 0x6c], 0
mov edx, dword [esp + 0x48]
je 0x1008a898
mov eax, edx
shr eax, 2
test al, 1
je 0x1008a898
mov al, byte [edi + 0x6d]
mov byte [esp + 0x20], al
mov al, byte [edi + 0x6e]
mov byte [esp + 0x21], al
mov al, byte [edi + 0x6f]
mov byte [esp + 0x22], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x23], al
mov eax, dword [edi + 0x74]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
push str.Flashed
cmp ecx, dword [esp + 0x148]
je 0x1008a880
mov edx, ecx
call fcn.10081550
mov ecx, dword [esp + 0x144]
add esp, 0xc
add ecx, 0x3c
mov dword [esp + 0x138], ecx
jmp 0x1008a894
push ecx
lea ecx, [esp + 0x144]
call fcn.10081630
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x48]
cmp byte [edi + 0x78], 0
je 0x1008a917
mov eax, edx
shr eax, 3
test al, 1
je 0x1008a917
mov al, byte [edi + 0x79]
mov byte [esp + 0x20], al
mov al, byte [edi + 0x7a]
mov byte [esp + 0x21], al
mov al, byte [edi + 0x7b]
mov byte [esp + 0x22], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x23], al
mov eax, dword [edi + 0x80]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
push 0x1025df04
cmp ecx, dword [esp + 0x148]
je 0x1008a903
mov edx, ecx
call fcn.10081550
mov ecx, dword [esp + 0x144]
add esp, 0xc
add ecx, 0x3c
mov dword [esp + 0x138], ecx
jmp 0x1008a917
push ecx
lea ecx, [esp + 0x144]
call fcn.10081630
mov ecx, dword [esp + 0x138]
cmp byte [edi + 0x84], 0
mov edx, dword [esp + 0x48]
je 0x1008a9ae
mov eax, edx
shr eax, 4
test al, 1
je 0x1008a9ae
mov al, byte [edi + 0x85]
mov byte [esp + 0x20], al
mov al, byte [edi + 0x86]
mov byte [esp + 0x21], al
mov al, byte [edi + 0x87]
mov byte [esp + 0x22], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x23], al
mov eax, dword [edi + 0x8c]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
push str.Reloading
cmp ecx, dword [esp + 0x148]
je 0x1008a996
mov edx, ecx
call fcn.10081550
mov ecx, dword [esp + 0x144]
add esp, 0xc
add ecx, 0x3c
mov dword [esp + 0x138], ecx
jmp 0x1008a9aa
push ecx
lea ecx, [esp + 0x144]
call fcn.10081630
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x48]
cmp byte [edi + 0x90], 0
je 0x1008aa28
shr edx, 5
test dl, 1
je 0x1008aa28
mov al, byte [edi + 0x91]
mov byte [esp + 0x20], al
mov al, byte [edi + 0x92]
mov byte [esp + 0x21], al
mov al, byte [edi + 0x93]
mov byte [esp + 0x22], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x23], al
mov eax, dword [edi + 0x98]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
push str.Planting
cmp ecx, dword [esp + 0x148]
je 0x1008aa1b
mov edx, ecx
call fcn.10081550
add esp, 0xc
add dword [esp + 0x138], 0x3c
jmp 0x1008aa28
push ecx
lea ecx, [esp + 0x144]
call fcn.10081630
cmp byte [edi + 0x9c], 0
movss xmm1, dword [0x1026bcac]
movss dword [esp + 0x10], xmm1
je 0x1008aaa2
movd xmm0, dword [esi + 0x10]
lea ecx, [esp + 0x154]
mov al, byte [edi + 0x9d]
cvtdq2ps xmm0, xmm0
mov byte [esp + 0x14], al
mov al, byte [edi + 0x9e]
mov byte [esp + 0x15], al
mov al, byte [edi + 0x9f]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x28]
divss xmm0, xmm1
mov byte [esp + 0x17], al
mov eax, dword [edi + 0xa4]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x2c]
push eax
movss dword [esp + 0x30], xmm0
call fcn.1007bdb0
movss xmm1, dword [esp + 0x10]
cmp byte [edi + 0xa8], 0
je 0x1008ab08
movd xmm0, dword [esi + 0x14]
lea ecx, [esp + 0x154]
mov al, byte [edi + 0xa9]
cvtdq2ps xmm0, xmm0
mov byte [esp + 0x14], al
mov al, byte [edi + 0xaa]
mov byte [esp + 0x15], al
mov al, byte [edi + 0xab]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x28]
divss xmm0, xmm1
mov byte [esp + 0x17], al
mov eax, dword [edi + 0xb0]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x2c]
push eax
movss dword [esp + 0x30], xmm0
call fcn.1007bdb0
cmp byte [edi + 0xfc], 0
je 0x1008ac2b
mov ecx, dword [esi + 0x30]
call fcn.1008e550
mov esi, eax
test esi, esi
je 0x1008ac2b
movd xmm3, dword [esi]
movss xmm1, dword [0x1026ba5c]
movss xmm2, dword [esp + 0x9c]
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm3
mulss xmm0, xmm1
divss xmm2, xmm0
comiss xmm2, xmm1
ja 0x1008ab5f
movss xmm1, dword [0x1026ba28]
comiss xmm1, xmm2
ja 0x1008ab5f
movaps xmm1, xmm2
movd xmm0, dword [esi + 4]
mov al, byte [edi + 0xfd]
mov cl, byte [edi + 0xfe]
mov dl, byte [edi + 0xff]
cvtdq2ps xmm0, xmm0
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x67], al
lea eax, [esi + 8]
mov esi, dword [esp + 0x174]
mov byte [esp + 0x65], cl
mov ecx, dword [edi + 0x104]
mulss xmm0, xmm1
mov dword [esp + 0x60], 0xffffffff
mulss xmm1, xmm3
mov byte [esp + 0x66], dl
mov dword [esp + 0x44], ecx
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x14], xmm1
cmp esi, dword [esp + 0x178]
je 0x1008ac09
mov edx, dword [eax]
mov byte [esp + 0x8c], 1
mov eax, dword [esp + 0x8c]
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x64]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], ecx
cvttss2si eax, xmm1
mov byte [esi + 0x1c], 1
cvttss2si ecx, xmm0
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
add dword [esp + 0x174], 0x20
jmp 0x1008ac2b
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x20]
push ecx
push eax
push esi
lea ecx, [esp + 0x188]
call fcn.10080d40
mov eax, dword [0x102b1b48]
lea ecx, [esp + 0x118]
push ecx
cmp eax, dword [0x102b1b4c]
je 0x1008ac50
mov ecx, eax
call fcn.100827f0
add dword [0x102b1b48], 0x68
jmp 0x1008ac5b
push eax
mov ecx, 0x102b1b44
call fcn.10080f00
lea ecx, [esp + 0x170]
call fcn.10080680
lea ecx, [esp + 0x154]
call fcn.10080680
lea ecx, [esp + 0x134]
call fcn.100806e0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [edi + 0x109], 0
je 0x1008d361
cmp byte [ebp + 0x14], 0
je 0x1008d361
mov eax, dword [esi + 0xc]
movq xmm0, qword [esi + 4]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x64]
movq qword [esp + 0x64], xmm0
push eax
mov dword [esp + 0x5c], 0x7f800000
mov dword [esp + 0x58], 0x7f800000
mov dword [esp + 0x54], 0x7f800000
call fcn.1011e500
movss xmm1, dword [esp + 0x54]
xorps xmm2, xmm2
add esp, 8
comiss xmm2, xmm1
ja 0x1008ad05
movss xmm0, dword [esp + 0x50]
comiss xmm2, xmm0
ja 0x1008ad05
mov eax, dword [esp + 0x2c]
comiss xmm1, dword [eax + 8]
ja 0x1008ad05
comiss xmm0, dword [eax + 0xc]
jbe 0x1008d361
mov esi, dword [ebp + 0xc]
lea edx, [esp + 0x94]
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x4c]
movss xmm0, dword [esi]
subss xmm0, dword [eax]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esi + 4]
subss xmm0, dword [eax + 4]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esi + 8]
subss xmm0, dword [eax + 8]
movss dword [esp + 0x54], xmm0
call fcn.1011dde0
movss xmm0, dword [esp + 0x60]
lea edx, [esp + 0x4c]
subss xmm0, dword [esi]
lea ecx, [esp + 0x30]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x38], 0
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x64]
subss xmm0, dword [esi + 4]
movss dword [esp + 0x34], xmm0
call fcn.1011dde0
movss xmm1, dword [esp + 0x4c]
movss xmm0, dword [0x1026bca4]
comiss xmm1, xmm0
movss xmm2, dword [0x1026bd04]
jbe 0x1008adb9
nop word [eax + eax]
subss xmm1, xmm2
comiss xmm1, xmm0
ja 0x1008adb0
movss xmm0, dword [0x1026be78]
comiss xmm0, xmm1
jbe 0x1008adcf
addss xmm1, xmm2
comiss xmm0, xmm1
ja 0x1008adc6
movss xmm0, dword [esp + 0x50]
comiss xmm0, xmm2
movss xmm3, dword [0x1026bd68]
jbe 0x1008adeb
subss xmm0, xmm3
comiss xmm0, xmm2
ja 0x1008ade2
movss xmm2, dword [0x1026be90]
comiss xmm2, xmm0
jbe 0x1008ae09
nop dword [eax + eax]
addss xmm0, xmm3
comiss xmm2, xmm0
ja 0x1008ae00
movss xmm6, dword [0x1026bd48]
lea eax, [esp + 0x5c]
mov esi, dword [ebp + 8]
subss xmm6, xmm0
movss xmm2, dword [0x1026b9d0]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xac]
mov dword [esp + 0x10], eax
movss dword [esp + 0x30], xmm2
movaps xmm0, xmm6
movss dword [esp + 0x14], xmm6
addss xmm0, dword [esi + 4]
mulss xmm0, xmm2
movss dword [esp + 0x44], xmm0
fld dword [esp + 0x44]
fsincos
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
fstp dword [edx]
fstp dword [eax]
xorps xmm0, xmm0
lea eax, [esp + 0xc4]
subss xmm0, xmm1
mov dword [esp + 0x24], eax
xorps xmm3, xmm3
lea eax, [esp + 0x60]
mov dword [esp + 0x10], eax
addss xmm0, xmm3
mulss xmm0, xmm2
movss dword [esp + 0x44], xmm0
fld dword [esp + 0x44]
fsincos
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
fstp dword [edx]
fstp dword [eax]
movd xmm2, dword [edi + 0x10c]
movss xmm4, dword [esp + 0xc4]
mov eax, dword [esp + 0x2c]
movaps xmm5, xmm4
mulss xmm5, dword [esp + 0x5c]
mov edi, dword [0x102999e4]
mulss xmm4, dword [esp + 0xac]
mov edx, dword [esp + 0x20]
movss xmm0, dword [eax + 8]
mulss xmm0, dword [0x1026ba54]
mov ecx, dword [edx + edi*4]
mov edi, dword [esp + 0x48]
cvtdq2ps xmm2, xmm2
mulss xmm5, xmm2
mulss xmm4, xmm2
addss xmm5, xmm0
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x1026ba54]
mov eax, dword [0x102ba260]
addss xmm4, xmm0
movss dword [esp + 0x2c], xmm5
movss dword [esp + 0x10], xmm4
cmp eax, dword [ecx + 4]
jle 0x1008af53
push 0x102ba260
call fcn.101e23b9
add esp, 4
cmp dword [0x102ba260], 0xffffffff
jne 0x1008af41
push 0x102ba260
call fcn.101e236f
add esp, 4
movss xmm6, dword [esp + 0x14]
movss xmm5, dword [esp + 0x2c]
movss xmm4, dword [esp + 0x10]
movss xmm0, dword [0x1026bbfc]
movaps xmm3, xmm5
addss xmm5, dword [0x1026bc24]
addss xmm6, dword [esi + 4]
movaps xmm2, xmm4
movss dword [esp + 0xa0], xmm4
subss xmm3, xmm0
movaps xmm1, xmm4
subss xmm2, xmm0
movss dword [esp + 0x9c], xmm5
addss xmm1, xmm0
mulss xmm6, dword [esp + 0x30]
addss xmm5, xmm3
movss dword [esp + 0x94], xmm3
addss xmm4, xmm2
movss dword [esp + 0x98], xmm2
cvtps2pd xmm0, xmm6
addss xmm5, xmm3
movss dword [esp + 0xa4], xmm3
addss xmm4, xmm1
movss dword [esp + 0xa8], xmm1
movss dword [esp + 0x14], xmm6
mulss xmm5, dword [0x1026ba2c]
mulss xmm4, dword [0x1026ba2c]
movss dword [esp + 0x2c], xmm5
movss dword [esp + 0x10], xmm4
call fcn.1020a6d0
movss xmm1, dword [esp + 0x14]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x30], xmm0
cvtps2pd xmm0, xmm1
call fcn.1020b950
movss xmm4, dword [esp + 0x10]
lea eax, [esp + 0x94]
movss xmm5, dword [esp + 0x2c]
xorps xmm7, xmm7
movss xmm6, dword [esp + 0x30]
cvtsd2ss xmm7, xmm0
nop dword [eax + eax]
movss xmm3, dword [eax]
lea ecx, [esp + 0xac]
movss xmm2, dword [eax + 4]
subss xmm3, xmm5
subss xmm2, xmm4
movaps xmm1, xmm3
mulss xmm3, xmm7
movaps xmm0, xmm2
mulss xmm1, xmm6
mulss xmm0, xmm7
mulss xmm2, xmm6
subss xmm1, xmm0
addss xmm3, xmm2
addss xmm1, xmm5
addss xmm3, xmm4
movss dword [eax], xmm1
movss dword [eax + 4], xmm3
add eax, 8
cmp eax, ecx
jne 0x1008b030
movzx ecx, byte [edi + 0x112]
mov eax, dword [esp + 0x28]
movss xmm0, dword [esp + 0xa4]
movzx eax, al
shl eax, 8
or ecx, eax
movzx eax, byte [edi + 0x111]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 0x110]
push 1
movss dword [esp + 0x8c], xmm0
movss xmm0, dword [esp + 0xac]
shl ecx, 8
or ecx, eax
movss dword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0xa0]
lea eax, [esp + 0x8c]
push ecx
push ecx
push ecx
mov ecx, dword [0x102afcc8]
movss dword [esp + 0x118], xmm0
movss xmm0, dword [esp + 0xb0]
push eax
movss dword [esp + 0x120], xmm0
lea eax, [esp + 0x11c]
movss xmm0, dword [esp + 0xa8]
push eax
movss dword [esp + 0x78], xmm0
lea eax, [esp + 0x78]
movss xmm0, dword [esp + 0xb0]
push eax
movss dword [esp + 0x80], xmm0
call fcn.1002a890
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test al, al
je 0x1008b15f
mov al, byte [esi + 0x102b1c70]
mov byte [esp + 0x1b], al
test al, al
je 0x1008b164
cmp dword [esi*4 + 0x102b1cb0], 0
je 0x1008d361
jmp 0x1008b164
mov byte [esp + 0x1b], 0
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x4c]
mov ecx, dword [esp + 0x2c]
push eax
mov dword [esp + 0x5c], 0
call fcn.10085e90
movss xmm1, dword [0x1026be28]
add esp, 4
movss dword [esp + 0x14], xmm1
test al, al
je 0x1008c5ee
mov eax, dword [esp + 0x28]
push ecx
movzx ecx, byte [edi + 0xa]
push 0xc8191919
push 0xff0000ff
movzx eax, al
sub esp, 0x10
shl eax, 8
or ecx, eax
movzx eax, byte [edi + 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 8]
push 0x64191919
push 0xffffffffffffffff
shl ecx, 8
or ecx, eax
push ecx
push dword [edi + 4]
lea ecx, [esp + 0x1ac]
push dword [0x102ba258]
call fcn.1007b3d0
mov edx, dword [esp + 0x1a0]
push ecx
mov ecx, dword [esp + 0x1a0]
call fcn.10082780
mov eax, dword [esp + 0x1a0]
add esp, 4
movups xmm0, xmmword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x1c0], eax
xor eax, eax
movups xmmword [esp + 0x184], xmm0
mov dword [esp + 0x2c], eax
call fcn.10003f50
mov eax, dword [eax]
test eax, eax
je 0x1008b243
push eax
call fcn.10004330
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x1c]
call fcn.10003ec0
cmp byte [esp + 0x1b], 0
mov eax, dword [eax]
mov dword [esp + 0xc4], eax
je 0x1008b265
mov esi, dword [esi*4 + 0x102b1cb0]
jmp 0x1008b267
mov esi, eax
mov ecx, dword [esp + 0x1c]
call fcn.10003ec0
mov dword [eax], esi
cmp byte [edi + 0xc], 0
je 0x1008b364
mov al, byte [edi + 0xd]
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x10], al
add ecx, 8
mov al, byte [edi + 0xe]
mov byte [esp + 0x11], al
mov al, byte [edi + 0xf]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [esp + 0x4b0]
push ecx
push eax
call fcn.100043c0
mov ecx, 0x102383a2
mov dword [esp + 0xc8], 0
test al, al
mov dword [esp + 0xd8], 0
lea edx, [esp + 0x4c0]
mov dword [esp + 0xdc], 0xf
cmove edx, ecx
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1008b2f3
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0xd0]
call fcn.1000d310
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x1a8]
call fcn.1007bd10
mov edx, dword [esp + 0xdc]
cmp edx, 0x10
jb 0x1008b364
mov ecx, dword [esp + 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008b35a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d385
push edx
push ecx
call fcn.101e1f2f
add esp, 8
cmp byte [edi + 0x18], 0
je 0x1008b477
mov al, byte [edi + 0x19]
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x10], al
mov al, byte [edi + 0x1a]
mov byte [esp + 0x11], al
mov al, byte [edi + 0x1b]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0x20]
mov dword [esp + 0x30], eax
call fcn.10003ec0
lea ecx, [esp + 0xc8]
mov edx, dword [eax]
call fcn.10020a00
push str.HP:
push 0
mov ecx, eax
call fcn.100214c0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xe0], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [esp + 0xdc]
movq qword [esp + 0xf0], xmm0
cmp edx, 0x10
jb 0x1008b41d
mov ecx, dword [esp + 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008b413
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d380
push edx
push ecx
call fcn.101e1f2f
add esp, 8
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x1a8]
call fcn.1007bd10
mov edx, dword [esp + 0xf4]
cmp edx, 0x10
jb 0x1008b477
mov ecx, dword [esp + 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008b46d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d385
push edx
push ecx
call fcn.101e1f2f
add esp, 8
cmp byte [edi + 0x24], 0
je 0x1008b58b
mov al, byte [edi + 0x25]
mov esi, dword [esp + 0x1c]
mov ecx, esi
mov byte [esp + 0x10], al
mov al, byte [edi + 0x26]
mov byte [esp + 0x11], al
mov al, byte [edi + 0x27]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0x2c]
mov dword [esp + 0xac], eax
call fcn.10004100
mov ecx, esi
mov eax, dword [eax]
mov dword [esp + 0x30], eax
call fcn.10033d40
mov al, byte [eax]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0xf
test al, al
je 0x1008b4f8
push 0x1025deec
lea ecx, [esp + 0xcc]
call fcn.10025030
cmp dword [esp + 0x30], 0
jle 0x1008b510
push 0x1025def0
lea ecx, [esp + 0xcc]
call fcn.10025030
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x1a8]
call fcn.1007bd10
mov edx, dword [esp + 0xdc]
cmp edx, 0x10
jb 0x1008b56d
mov ecx, dword [esp + 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008b563
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d38a
push edx
push ecx
call fcn.101e1f2f
add esp, 8
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0xf
mov byte [esp + 0xc8], 0
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x1008b716
cmp byte [edi + 0x48], 0
je 0x1008b5df
mov al, byte [edi + 0x49]
mov ecx, esi
mov byte [esp + 0x10], al
mov al, byte [edi + 0x4a]
mov byte [esp + 0x11], al
mov al, byte [edi + 0x4b]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0x50]
mov dword [esp + 0x30], eax
call fcn.101793a0
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x34]
push ecx
push eax
lea ecx, [esp + 0x1a8]
call fcn.1007bd10
cmp byte [edi + 0x30], 0
je 0x1008b716
mov ecx, esi
call fcn.1000d7b0
mov edx, dword [eax]
test edx, edx
jle 0x1008b716
mov al, byte [edi + 0x31]
lea ecx, [esp + 0xac]
mov byte [esp + 0x10], al
mov al, byte [edi + 0x32]
mov byte [esp + 0x11], al
mov al, byte [edi + 0x33]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0x38]
mov dword [esp + 0x30], eax
call fcn.10020a00
push str.Ammo:
push 0
mov ecx, eax
call fcn.100214c0
lea ecx, [esp + 0x19c]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xe0], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
movq qword [esp + 0xf4], xmm0
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.1007bd10
mov edx, dword [esp + 0xf4]
cmp edx, 0x10
jb 0x1008b6bc
mov ecx, dword [esp + 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008b6b2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d38f
push edx
push ecx
call fcn.101e1f2f
add esp, 8
mov edx, dword [esp + 0xc0]
cmp edx, 0x10
jb 0x1008b6f8
mov ecx, dword [esp + 0xac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008b6ee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d38f
push edx
push ecx
call fcn.101e1f2f
add esp, 8
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0xf
mov byte [esp + 0xac], 0
cmp byte [edi + 0x3c], 0
je 0x1008b7cd
mov al, byte [edi + 0x3d]
lea ecx, [esp + 0x94]
push dword [esp + 0x1c]
mov byte [esp + 0x14], al
mov al, byte [edi + 0x3e]
mov byte [esp + 0x15], al
mov al, byte [edi + 0x3f]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x17], al
mov eax, dword [edi + 0x44]
mov dword [esp + 0x34], eax
lea eax, [esp + 0xe4]
push eax
call fcn.1008d3b0
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x34]
push ecx
push eax
lea ecx, [esp + 0x1a8]
call fcn.1007bd10
mov edx, dword [esp + 0xf4]
cmp edx, 0x10
jb 0x1008b7af
mov ecx, dword [esp + 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008b7a5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d394
push edx
push ecx
call fcn.101e1f2f
add esp, 8
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0xf
mov byte [esp + 0xe0], 0
cmp byte [edi + 0x54], 0
je 0x1008b845
mov ecx, dword [esp + 0x1c]
call fcn.1003b390
cmp byte [eax], 0
je 0x1008b845
mov al, byte [edi + 0x55]
lea ecx, [esp + 0x10]
mov byte [esp + 0x10], al
mov al, byte [edi + 0x56]
mov byte [esp + 0x11], al
mov al, byte [edi + 0x57]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
push ecx
mov byte [esp + 0x17], al
lea ecx, [esp + 0x28]
mov eax, dword [edi + 0x5c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1a4]
push ecx
push str.Scoped
cmp eax, dword [esp + 0x1b0]
je 0x1008b838
mov edx, eax
call fcn.10081550
add esp, 0xc
add dword [esp + 0x1a0], 0x3c
jmp 0x1008b845
push eax
lea ecx, [esp + 0x1ac]
call fcn.10081630
cmp byte [edi + 0x60], 0
je 0x1008b8bd
mov ecx, dword [esp + 0x1c]
call fcn.10088a70
cmp byte [eax], 0
je 0x1008b8bd
mov al, byte [edi + 0x61]
lea ecx, [esp + 0x10]
mov byte [esp + 0x10], al
mov al, byte [edi + 0x62]
mov byte [esp + 0x11], al
mov al, byte [edi + 0x63]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
push ecx
mov byte [esp + 0x17], al
lea ecx, [esp + 0x28]
mov eax, dword [edi + 0x68]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1a4]
push ecx
push str.Defusing
cmp eax, dword [esp + 0x1b0]
je 0x1008b8b0
mov edx, eax
call fcn.10081550
add esp, 0xc
add dword [esp + 0x1a0], 0x3c
jmp 0x1008b8bd
push eax
lea ecx, [esp + 0x1ac]
call fcn.10081630
cmp byte [edi + 0x6c], 0
je 0x1008b9f2
mov ecx, dword [esp + 0x1c]
call fcn.10006ee0
movss xmm0, dword [eax]
comiss xmm0, dword [0x1026b97c]
jbe 0x1008b9f2
mov al, byte [edi + 0x6d]
lea ecx, [esp + 0x94]
mov byte [esp + 0x10], al
mov al, byte [edi + 0x6e]
mov byte [esp + 0x11], al
mov al, byte [edi + 0x6f]
cvttss2si edx, xmm0
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0x74]
mov dword [esp + 0x30], eax
call fcn.10020a00
push str.Flashed:
push 0
mov ecx, eax
call fcn.100214c0
lea ecx, [esp + 0x19c]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x60], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
movq qword [esp + 0x74], xmm0
push eax
lea eax, [esp + 0x68]
push eax
call fcn.1007bd10
mov edx, dword [esp + 0x74]
cmp edx, 0x10
jb 0x1008b998
mov ecx, dword [esp + 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008b98e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d399
push edx
push ecx
call fcn.101e1f2f
add esp, 8
mov edx, dword [esp + 0xa8]
cmp edx, 0x10
jb 0x1008b9d4
mov ecx, dword [esp + 0x94]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008b9ca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d399
push edx
push ecx
call fcn.101e1f2f
add esp, 8
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
cmp byte [edi + 0x78], 0
je 0x1008bade
mov edi, dword [0x102999e4]
mov edx, dword [esp + 0x20]
mov eax, dword [0x102bbc58]
mov esi, dword [esp + 0x1c]
mov ecx, dword [edx + edi*4]
mov edi, dword [esp + 0x48]
cmp eax, dword [ecx + 4]
jle 0x1008ba67
push 0x102bbc58
call fcn.101e23b9
add esp, 4
cmp dword [0x102bbc58], 0xffffffff
jne 0x1008ba67
lea eax, [esp + 0x30]
mov dword [esp + 0x30], str.HasC4
push eax
lea eax, [esp + 0x64]
mov ecx, 0x102a57d4
push eax
call fcn.10006340
push 0x102bbc58
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [0x102bbc5c], eax
call fcn.101e236f
add esp, 4
mov ecx, esi
call dword [0x102bbc5c]
test al, al
je 0x1008bada
mov al, byte [edi + 0x79]
lea ecx, [esp + 0x10]
mov byte [esp + 0x10], al
mov al, byte [edi + 0x7a]
mov byte [esp + 0x11], al
mov al, byte [edi + 0x7b]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
push ecx
mov byte [esp + 0x17], al
lea ecx, [esp + 0x28]
mov eax, dword [edi + 0x80]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1a4]
push ecx
push 0x1025df04
cmp eax, dword [esp + 0x1b0]
je 0x1008bacd
mov edx, eax
call fcn.10081550
add esp, 0xc
add dword [esp + 0x1a0], 0x3c
jmp 0x1008bada
push eax
lea ecx, [esp + 0x1ac]
call fcn.10081630
mov esi, dword [esp + 0x2c]
cmp byte [edi + 0x9c], 0
je 0x1008bb56
mov al, byte [edi + 0x9d]
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x10], al
mov al, byte [edi + 0x9e]
mov byte [esp + 0x11], al
mov al, byte [edi + 0x9f]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0xa4]
mov dword [esp + 0x30], eax
call fcn.10003ec0
lea ecx, [esp + 0x1bc]
movd xmm0, dword [eax]
lea eax, [esp + 0x10]
cvtdq2ps xmm0, xmm0
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xb4]
push eax
divss xmm0, dword [0x1026bcac]
movss dword [esp + 0xb8], xmm0
call fcn.1007bdb0
cmp byte [edi + 0xa8], 0
je 0x1008bbce
mov al, byte [edi + 0xa9]
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x10], al
mov al, byte [edi + 0xaa]
mov byte [esp + 0x11], al
mov al, byte [edi + 0xab]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0xb0]
mov dword [esp + 0x30], eax
call fcn.10004100
lea ecx, [esp + 0x1bc]
movd xmm0, dword [eax]
lea eax, [esp + 0x10]
cvtdq2ps xmm0, xmm0
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xb4]
push eax
divss xmm0, dword [0x1026bcac]
movss dword [esp + 0xb8], xmm0
call fcn.1007bdb0
test esi, esi
je 0x1008bec6
cmp byte [edi + 0xb4], 0
jne 0x1008bbf5
cmp byte [edi + 0x84], 0
jne 0x1008bbf5
cmp byte [edi + 0xcc], 0
je 0x1008bec6
mov eax, dword [esp + 0x1c]
xorps xmm0, xmm0
mov ecx, eax
movss dword [esp + 0x114], xmm0
mov dword [esp + 0x30], eax
call fcn.10178780
mov esi, eax
add esi, 0x38
je 0x1008bd51
cmp dword [esi + 0x30], 0
je 0x1008bd51
movss xmm0, dword [esi + 0x20]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1008bd54
push dword [esi + 0x18]
mov ecx, dword [esp + 0x34]
call fcn.101759f0
xorps xmm1, xmm1
cmp eax, 0x3c7
jne 0x1008bd54
movss xmm0, dword [esi + 0x2c]
mov al, 1
comiss xmm0, xmm1
mov byte [esp + 0x1b], al
movss dword [esp + 0x114], xmm0
jbe 0x1008bd56
cmp byte [edi + 0x84], 0
je 0x1008bcf1
mov al, byte [edi + 0x85]
lea ecx, [esp + 0x10]
mov byte [esp + 0x10], al
mov al, byte [edi + 0x86]
mov byte [esp + 0x11], al
mov al, byte [edi + 0x87]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
push ecx
mov byte [esp + 0x17], al
lea ecx, [esp + 0x28]
mov eax, dword [edi + 0x8c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1a4]
push ecx
push str.Reloading
cmp eax, dword [esp + 0x1b0]
je 0x1008bcdd
mov edx, eax
call fcn.10081550
add esp, 0xc
add dword [esp + 0x1a0], 0x3c
jmp 0x1008bcea
push eax
lea ecx, [esp + 0x1ac]
call fcn.10081630
mov al, byte [esp + 0x1b]
xorps xmm1, xmm1
cmp byte [edi + 0xcc], 0
je 0x1008bd56
mov al, byte [edi + 0xcd]
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x10], al
mov al, byte [edi + 0xce]
mov byte [esp + 0x11], al
mov al, byte [edi + 0xcf]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0xd4]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x11c]
push eax
call fcn.1007bdb0
mov al, byte [esp + 0x1b]
xorps xmm1, xmm1
jmp 0x1008bd56
xorps xmm1, xmm1
xor al, al
cmp byte [edi + 0xb4], 0
je 0x1008bec6
test al, al
je 0x1008bdc4
movss xmm0, dword [esp + 0x114]
comiss xmm0, xmm1
jbe 0x1008bdc4
cmp byte [edi + 0xcc], 0
jne 0x1008bdc4
mov al, byte [edi + 0xb5]
mov byte [esp + 0x10], al
mov al, byte [edi + 0xb6]
mov byte [esp + 0x11], al
mov al, byte [edi + 0xb7]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0xbc]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x11c]
jmp 0x1008beb9
mov edx, dword [esp + 0x20]
mov esi, dword [0x102999e4]
mov eax, dword [0x102bbc9c]
mov ecx, dword [edx + esi*4]
cmp eax, dword [ecx + 4]
jle 0x1008be27
push 0x102bbc9c
call fcn.101e23b9
add esp, 4
cmp dword [0x102bbc9c], 0xffffffff
jne 0x1008be27
lea eax, [esp + 0x30]
mov dword [esp + 0x30], str.GetCSWpnData
push eax
lea eax, [esp + 0x64]
mov ecx, 0x102a5794
push eax
call fcn.10006340
push 0x102bbc9c
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [0x102bbca0], eax
call fcn.101e236f
add esp, 4
mov esi, dword [esp + 0x2c]
mov eax, dword [0x102bbca0]
mov ecx, dword [esi]
mov eax, dword [ecx + eax*4]
mov ecx, esi
call eax
test eax, eax
je 0x1008bec6
mov ecx, eax
call fcn.1017ebc0
mov esi, eax
test esi, esi
jle 0x1008bec6
mov ecx, dword [esp + 0x2c]
call fcn.1000d7b0
mov ecx, dword [eax]
test ecx, ecx
js 0x1008bec6
mov al, byte [edi + 0xb5]
movd xmm1, ecx
movd xmm0, esi
cvtdq2ps xmm1, xmm1
mov byte [esp + 0x10], al
mov al, byte [edi + 0xb6]
mov byte [esp + 0x11], al
mov al, byte [edi + 0xb7]
cvtdq2ps xmm0, xmm0
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0xbc]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x10]
divss xmm1, xmm0
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xb4]
movss dword [esp + 0xb4], xmm1
push eax
lea ecx, [esp + 0x1c8]
call fcn.1007bdb0
mov ecx, dword [esp + 0x1c]
call fcn.10006ee0
movss xmm0, dword [eax]
comiss xmm0, dword [0x1026b97c]
jbe 0x1008bf44
cmp byte [edi + 0xc0], 0
je 0x1008bf44
divss xmm0, dword [0x1026bd34]
mov al, byte [edi + 0xc1]
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x10], al
mov al, byte [edi + 0xc2]
mov byte [esp + 0x11], al
mov al, byte [edi + 0xc3]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0xc8]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xb4]
push eax
movss dword [esp + 0xb8], xmm0
call fcn.1007bdb0
cmp byte [edi + 0xd8], 0
jne 0x1008bf5a
cmp byte [edi + 0x90], 0
je 0x1008c094
mov eax, dword [esp + 0x1c]
mov ecx, eax
mov dword [esp + 0x30], eax
call fcn.10178780
mov esi, eax
add esi, 0x1c0
je 0x1008c094
cmp dword [esi + 0x30], 0
je 0x1008c094
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, dword [0x1026b97c]
lahf
test ah, 0x44
jnp 0x1008c094
push dword [esi + 0x18]
mov ecx, dword [esp + 0x34]
call fcn.101759f0
cmp eax, 0x3d2
jne 0x1008c094
cmp byte [edi + 0x90], 0
movss xmm0, dword [esi + 0x2c]
divss xmm0, dword [0x1026ba64]
movss dword [esp + 0x1fc], xmm0
je 0x1008c03d
mov al, byte [edi + 0x91]
lea ecx, [esp + 0x10]
mov byte [esp + 0x10], al
mov al, byte [edi + 0x92]
mov byte [esp + 0x11], al
mov al, byte [edi + 0x93]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
push ecx
mov byte [esp + 0x17], al
lea ecx, [esp + 0x28]
mov eax, dword [edi + 0x98]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1a4]
push ecx
push str.Planting
cmp eax, dword [esp + 0x1b0]
je 0x1008c030
mov edx, eax
call fcn.10081550
add esp, 0xc
add dword [esp + 0x1a0], 0x3c
jmp 0x1008c03d
push eax
lea ecx, [esp + 0x1ac]
call fcn.10081630
cmp byte [edi + 0xd8], 0
je 0x1008c094
mov al, byte [edi + 0xd9]
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x10], al
mov al, byte [edi + 0xda]
mov byte [esp + 0x11], al
mov al, byte [edi + 0xdb]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0xe0]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x204]
push eax
call fcn.1007bdb0
cmp byte [edi + 0xe4], 0
je 0x1008c17c
mov ecx, dword [esp + 0x1c]
call fcn.10088a70
cmp byte [eax], 0
je 0x1008c17c
mov esi, dword [0x102b1ec0]
test esi, esi
je 0x1008c17c
mov ecx, esi
call fcn.1007af30
cmp byte [eax], 0
je 0x1008c17c
mov ecx, esi
call fcn.1007afe0
cmp byte [eax], 0
jne 0x1008c17c
mov al, byte [edi + 0xe5]
mov ecx, esi
mov byte [esp + 0x10], al
mov al, byte [edi + 0xe6]
mov byte [esp + 0x11], al
mov al, byte [edi + 0xe7]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0xec]
mov dword [esp + 0x5c], eax
call fcn.10088b90
mov ecx, esi
movss xmm0, dword [eax]
mov eax, dword [0x1029a41c]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [eax + 0x10]
movss dword [esp + 0xac], xmm0
call fcn.10088b00
movss xmm0, dword [esp + 0x30]
lea ecx, [esp + 0x1bc]
subss xmm0, dword [esp + 0xac]
movss xmm1, dword [0x1026bac0]
divss xmm0, dword [eax]
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x38]
push eax
subss xmm1, xmm0
movss dword [esp + 0x3c], xmm1
call fcn.1007bdb0
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x1008c583
cmp byte [edi + 0xf0], 0
je 0x1008c45c
mov esi, dword [esp + 0x1c]
cmp esi, dword [0x1029a388]
jne 0x1008c458
mov ecx, esi
call fcn.10178780
mov edx, eax
add edx, 0x38
je 0x1008c1e0
cmp dword [edx + 0x30], 0
je 0x1008c1e0
movss xmm0, dword [edx + 0x20]
ucomiss xmm0, dword [0x1026b97c]
lahf
test ah, 0x44
jnp 0x1008c1e0
push dword [edx + 0x18]
mov ecx, esi
call fcn.101759f0
cmp eax, 0x3c7
je 0x1008c458
mov edx, dword [esp + 0x20]
mov esi, dword [0x102999e4]
mov eax, dword [0x102bbc9c]
mov ecx, dword [edx + esi*4]
cmp eax, dword [ecx + 4]
jle 0x1008c243
push 0x102bbc9c
call fcn.101e23b9
add esp, 4
cmp dword [0x102bbc9c], 0xffffffff
jne 0x1008c243
lea eax, [esp + 0x30]
mov dword [esp + 0x30], str.GetCSWpnData
push eax
lea eax, [esp + 0x64]
mov ecx, 0x102a5794
push eax
call fcn.10006340
push 0x102bbc9c
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [0x102bbca0], eax
call fcn.101e236f
add esp, 4
mov esi, dword [esp + 0x2c]
mov eax, dword [0x102bbca0]
mov ecx, dword [esi]
mov eax, dword [ecx + eax*4]
mov ecx, esi
call eax
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
je 0x1008c45c
mov edi, dword [esp + 0x20]
mov esi, dword [0x102999e4]
mov ecx, dword [0x102b3360]
mov eax, dword [edi + esi*4]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x2c]
cmp ecx, dword [eax + 4]
jle 0x1008c2f0
push 0x102b3360
call fcn.101e23b9
add esp, 4
cmp dword [0x102b3360], 0xffffffff
jne 0x1008c2ec
mov esi, dword [0x102b25b0]
mov eax, dword [0x102b25b4]
cmp esi, eax
je 0x1008c2d4
nop dword [eax + eax]
cmp dword [esi], 0x20093b89
jne 0x1008c2cd
mov edx, 0xaa0e449e
mov ecx, esi
call fcn.10170b40
test eax, eax
jne 0x1008c2d6
mov eax, dword [0x102b25b4]
add esi, 0x24
cmp esi, eax
jne 0x1008c2b0
xor eax, eax
push 0x102b3360
mov dword [0x102b335c], eax
call fcn.101e236f
mov esi, dword [esp + 0x30]
add esp, 4
mov edx, dword [esp + 0x24]
mov eax, dword [0x102b335c]
mov ecx, edx
cmp dword [esi + eax], 0
jne 0x1008c34a
call fcn.1009d290
mov ecx, 0x102b2048
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
push eax
call fcn.1017f1d0
lea ecx, [esp + 0xac]
mov dword [esp + 0xac], 0xe70c8908
push ecx
lea ecx, [esp + 0x64]
push ecx
mov ecx, eax
call fcn.1016c8d0
mov esi, dword [eax]
mov eax, dword [esi + 0x34]
test eax, eax
jne 0x1008c38f
movss xmm0, dword [esp + 0x14]
jmp 0x1008c3c4
call fcn.1009d290
mov ecx, 0x102b2048
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
push eax
call fcn.1017f1d0
lea ecx, [esp + 0xac]
mov dword [esp + 0xac], 0x1c80abb3
push ecx
lea ecx, [esp + 0x64]
push ecx
mov ecx, eax
call fcn.1016c8d0
mov esi, dword [eax]
mov eax, dword [esi + 0x34]
test eax, eax
je 0x1008c3b8
and eax, 0xfffffffc
je 0x1008d39e
add eax, 4
push 0x102985d4
push eax
call fcn.101e31c2
add esp, 8
test eax, eax
jne 0x1008d39e
movss xmm0, dword [esi + 0x10]
jmp 0x1008c3be
movss xmm0, dword [esp + 0x14]
movss dword [esp + 0x14], xmm0
comiss xmm0, dword [0x1026b97c]
mov esi, dword [esp + 0x2c]
jbe 0x1008c45c
mov ecx, esi
call fcn.10004190
xorps xmm1, xmm1
xorps xmm2, xmm2
movss xmm0, dword [eax]
mov eax, dword [0x1029a41c]
subss xmm0, dword [eax + 0x10]
divss xmm0, dword [esp + 0x14]
maxss xmm1, xmm0
comiss xmm1, xmm2
movss dword [esp + 0xac], xmm1
jbe 0x1008c45c
mov al, byte [edi + 0xf1]
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x14], al
mov al, byte [edi + 0xf2]
mov byte [esp + 0x15], al
mov al, byte [edi + 0xf3]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x17], al
mov eax, dword [edi + 0xf8]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.1007bdb0
jmp 0x1008c45c
mov esi, dword [esp + 0x2c]
cmp byte [edi + 0xfc], 0
je 0x1008c583
mov ecx, esi
call fcn.10006f70
movsx ecx, word [eax]
call fcn.1008e550
mov esi, eax
test esi, esi
je 0x1008c583
movd xmm2, dword [esi]
movss xmm1, dword [0x1026ba5c]
movss xmm3, dword [esp + 0x54]
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
mulss xmm0, xmm1
divss xmm3, xmm0
comiss xmm3, xmm1
ja 0x1008c4b7
movss xmm1, dword [0x1026ba28]
comiss xmm1, xmm3
ja 0x1008c4b7
movaps xmm1, xmm3
movd xmm0, dword [esi + 4]
mov al, byte [edi + 0xfd]
mov cl, byte [edi + 0xfe]
mov dl, byte [edi + 0xff]
cvtdq2ps xmm0, xmm0
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x67], al
lea eax, [esi + 8]
mov esi, dword [esp + 0x1dc]
mov byte [esp + 0x65], cl
mov ecx, dword [edi + 0x104]
mulss xmm0, xmm1
mov dword [esp + 0x60], 0xffffffff
mulss xmm1, xmm2
mov byte [esp + 0x66], dl
mov dword [esp + 0x30], ecx
movss dword [esp + 0xac], xmm0
movss dword [esp + 0x5c], xmm1
cmp esi, dword [esp + 0x1e0]
je 0x1008c55e
mov edx, dword [eax]
mov byte [esp + 0x34], 1
mov eax, dword [esp + 0x34]
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x64]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], ecx
cvttss2si eax, xmm1
mov byte [esi + 0x1c], 1
cvttss2si ecx, xmm0
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
add dword [esp + 0x1dc], 0x20
jmp 0x1008c583
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x68]
push ecx
push eax
push esi
lea ecx, [esp + 0x1f0]
call fcn.10080d40
mov ecx, dword [esp + 0x1c]
call fcn.10003ec0
mov ecx, dword [esp + 0xc4]
mov dword [eax], ecx
lea ecx, [esp + 0x180]
mov eax, dword [0x102b1b48]
push ecx
cmp eax, dword [0x102b1b4c]
je 0x1008c5ba
mov ecx, eax
call fcn.100827f0
add dword [0x102b1b48], 0x68
jmp 0x1008c5c5
push eax
mov ecx, 0x102b1b44
call fcn.10080f00
lea ecx, [esp + 0x1d8]
call fcn.10080680
lea ecx, [esp + 0x1bc]
call fcn.10080680
lea ecx, [esp + 0x19c]
call fcn.100806e0
jmp 0x1008ca9b
cmp byte [edi + 0x109], 0
je 0x1008ca9b
cmp byte [ebp + 0x14], 0
je 0x1008ca9b
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov dword [esp + 0x54], 0x7f800000
mov dword [esp + 0x50], 0x7f800000
mov dword [esp + 0x4c], 0x7f800000
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x64]
movq qword [esp + 0x64], xmm0
push eax
call fcn.1011e500
movss xmm1, dword [esp + 0x54]
xorps xmm2, xmm2
add esp, 8
comiss xmm2, xmm1
ja 0x1008c678
movss xmm0, dword [esp + 0x50]
comiss xmm2, xmm0
ja 0x1008c678
mov eax, dword [esp + 0x2c]
comiss xmm1, dword [eax + 8]
ja 0x1008c678
comiss xmm0, dword [eax + 0xc]
jbe 0x1008ca9b
mov esi, dword [ebp + 0xc]
lea edx, [esp + 0x94]
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x4c]
movss xmm0, dword [esi]
subss xmm0, dword [eax]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esi + 4]
subss xmm0, dword [eax + 4]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esi + 8]
subss xmm0, dword [eax + 8]
movss dword [esp + 0x54], xmm0
call fcn.1011dde0
movss xmm0, dword [esp + 0x60]
lea edx, [esp + 0x4c]
subss xmm0, dword [esi]
lea ecx, [esp + 0x30]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x38], 0
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x64]
subss xmm0, dword [esi + 4]
movss dword [esp + 0x34], xmm0
call fcn.1011dde0
movss xmm1, dword [esp + 0x4c]
movss xmm0, dword [0x1026bca4]
comiss xmm1, xmm0
movss xmm2, dword [0x1026bd04]
jbe 0x1008c729
nop dword [eax]
subss xmm1, xmm2
comiss xmm1, xmm0
ja 0x1008c720
movss xmm0, dword [0x1026be78]
comiss xmm0, xmm1
jbe 0x1008c73f
addss xmm1, xmm2
comiss xmm0, xmm1
ja 0x1008c736
movss xmm0, dword [esp + 0x50]
comiss xmm0, xmm2
movss xmm3, dword [0x1026bd68]
jbe 0x1008c75b
subss xmm0, xmm3
comiss xmm0, xmm2
ja 0x1008c752
movss xmm2, dword [0x1026be90]
comiss xmm2, xmm0
jbe 0x1008c779
nop dword [eax + eax]
addss xmm0, xmm3
comiss xmm2, xmm0
ja 0x1008c770
movss xmm6, dword [0x1026bd48]
lea eax, [esp + 0x44]
mov esi, dword [ebp + 8]
subss xmm6, xmm0
movss xmm3, dword [0x1026b9d0]
mov dword [esp + 0xac], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x5c], eax
movaps xmm0, xmm6
movss dword [esp + 0x14], xmm6
addss xmm0, dword [esi + 4]
mulss xmm0, xmm3
movss dword [esp + 0x30], xmm0
fld dword [esp + 0x30]
fsincos
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x5c]
fstp dword [edx]
fstp dword [eax]
xorps xmm0, xmm0
lea eax, [esp + 0xc4]
subss xmm0, xmm1
mov dword [esp + 0xac], eax
xorps xmm2, xmm2
lea eax, [esp + 0x60]
mov dword [esp + 0x5c], eax
addss xmm0, xmm2
mulss xmm0, xmm3
movss dword [esp + 0x30], xmm0
fld dword [esp + 0x30]
fsincos
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x5c]
fstp dword [edx]
fstp dword [eax]
movd xmm1, dword [edi + 0x10c]
movss xmm4, dword [esp + 0xc4]
mov eax, dword [esp + 0x2c]
movaps xmm5, xmm4
mulss xmm5, dword [esp + 0x44]
mov edi, dword [0x102999e4]
mulss xmm4, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
movss xmm0, dword [eax + 8]
mulss xmm0, dword [0x1026ba54]
mov ecx, dword [edx + edi*4]
mov edi, dword [esp + 0x48]
cvtdq2ps xmm1, xmm1
mulss xmm5, xmm1
mulss xmm4, xmm1
addss xmm5, xmm0
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x1026ba54]
mov eax, dword [0x102ba264]
addss xmm4, xmm0
movss dword [esp + 0x2c], xmm5
movss dword [esp + 0x10], xmm4
cmp eax, dword [ecx + 4]
jle 0x1008c8c3
push 0x102ba264
call fcn.101e23b9
add esp, 4
cmp dword [0x102ba264], 0xffffffff
jne 0x1008c8b1
push 0x102ba264
call fcn.101e236f
add esp, 4
movss xmm6, dword [esp + 0x14]
movss xmm5, dword [esp + 0x2c]
movss xmm4, dword [esp + 0x10]
movss xmm0, dword [0x1026bbfc]
movaps xmm3, xmm5
addss xmm5, dword [0x1026bc24]
addss xmm6, dword [esi + 4]
movaps xmm2, xmm4
movss dword [esp + 0xa0], xmm4
subss xmm3, xmm0
movaps xmm1, xmm4
subss xmm2, xmm0
movss dword [esp + 0x9c], xmm5
addss xmm1, xmm0
mulss xmm6, dword [0x1026b9d0]
addss xmm5, xmm3
movss dword [esp + 0x94], xmm3
addss xmm4, xmm2
movss dword [esp + 0x98], xmm2
cvtps2pd xmm0, xmm6
addss xmm5, xmm3
movss dword [esp + 0xa4], xmm3
addss xmm4, xmm1
movss dword [esp + 0xa8], xmm1
movss dword [esp + 0x14], xmm6
mulss xmm5, dword [0x1026ba2c]
mulss xmm4, dword [0x1026ba2c]
movss dword [esp + 0x2c], xmm5
movss dword [esp + 0x10], xmm4
call fcn.1020a6d0
movss xmm1, dword [esp + 0x14]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x30], xmm0
cvtps2pd xmm0, xmm1
call fcn.1020b950
movss xmm4, dword [esp + 0x10]
lea eax, [esp + 0x94]
movss xmm5, dword [esp + 0x2c]
xorps xmm7, xmm7
movss xmm6, dword [esp + 0x30]
cvtsd2ss xmm7, xmm0
nop dword [eax]
movss xmm3, dword [eax]
lea ecx, [esp + 0xac]
movss xmm2, dword [eax + 4]
subss xmm3, xmm5
subss xmm2, xmm4
movaps xmm1, xmm3
mulss xmm3, xmm7
movaps xmm0, xmm2
mulss xmm1, xmm6
mulss xmm0, xmm7
mulss xmm2, xmm6
subss xmm1, xmm0
addss xmm3, xmm2
addss xmm1, xmm5
addss xmm3, xmm4
movss dword [eax], xmm1
movss dword [eax + 4], xmm3
add eax, 8
cmp eax, ecx
jne 0x1008c9a0
mov eax, dword [esp + 0x28]
movzx ecx, byte [edi + 0x112]
movss xmm0, dword [esp + 0xa4]
movzx eax, al
shl eax, 8
or ecx, eax
movss dword [esp + 0x60], xmm0
movzx eax, byte [edi + 0x111]
movss xmm0, dword [esp + 0xa8]
shl ecx, 8
or ecx, eax
movss dword [esp + 0x64], xmm0
movzx eax, byte [edi + 0x110]
movss xmm0, dword [esp + 0x9c]
push 1
shl ecx, 8
or ecx, eax
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0xa4]
lea eax, [esp + 0x64]
push ecx
push ecx
push ecx
mov ecx, dword [0x102afcc8]
push eax
movss dword [esp + 0x48], xmm0
lea eax, [esp + 0x44]
movss xmm0, dword [esp + 0xa8]
push eax
movss dword [esp + 0xc4], xmm0
lea eax, [esp + 0xc4]
movss xmm0, dword [esp + 0xb0]
push eax
movss dword [esp + 0xcc], xmm0
call fcn.1002a890
cmp byte [esp + 0x43], 0
jne 0x1008d361
cmp byte [edi + 0x126], 0
je 0x1008cbc9
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [0x1029a388]
jne 0x1008cae5
call fcn.10008d20
cmp byte [eax], 0
je 0x1008cbc9
mov ecx, dword [0x102a5680]
call fcn.10083cd0
cmp dword [eax], 4
je 0x1008cbc9
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
add ecx, 4
mov eax, dword [eax + 0x20]
call eax
test eax, eax
je 0x1008cbc9
push eax
call fcn.10035120
mov dword [esp + 0x30], eax
test eax, eax
je 0x1008cbc9
lea esi, [esp + 0x4b0]
mov edi, 0x100
mov ecx, esi
call fcn.10003eb0
add esi, 0x30
sub edi, 1
jne 0x1008cb16
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x4b0]
add ecx, 4
push ecx
mov dword [esp], edi
push 0xfff00
mov eax, dword [ecx]
push 0x100
push edx
mov eax, dword [eax + 0x34]
call eax
mov edi, dword [esp + 0x48]
test al, al
je 0x1008cbc9
mov eax, dword [esp + 0x20]
mov ecx, dword [0x102999e4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x102ba268]
cmp eax, dword [ecx + 4]
jle 0x1008cb8e
push 0x102ba268
call fcn.101e23b9
add esp, 4
cmp dword [0x102ba268], 0xffffffff
jne 0x1008cb8e
push 0x102ba268
call fcn.101e236f
add esp, 4
mov al, byte [edi + 0x127]
mov byte [esp + 0x14], al
mov al, byte [edi + 0x128]
mov byte [esp + 0x15], al
mov al, byte [edi + 0x129]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x28]
mov byte [esp + 0x17], al
lea eax, [esp + 0x4b0]
push dword [esp + 0x14]
push dword [esp + 0x34]
push eax
call fcn.1008d930
cmp byte [edi + 0x114], 0
je 0x1008ce90
mov ecx, dword [esp + 0x1c]
call fcn.10008960
movss xmm1, dword [0x1026b9d0]
mov ecx, eax
lea eax, [esp + 0x44]
mov dword [esp + 0xac], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x5c], eax
movss xmm0, dword [ecx + 4]
mulss xmm0, xmm1
movss dword [esp + 0x30], xmm0
fld dword [esp + 0x30]
fsincos
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x5c]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [ecx]
lea eax, [esp + 0xc4]
mulss xmm0, xmm1
mov dword [esp + 0xac], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x5c], eax
movss dword [esp + 0x30], xmm0
fld dword [esp + 0x30]
fsincos
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x5c]
fstp dword [edx]
fstp dword [eax]
push 6
push dword [esp + 0x20]
call fcn.1016ba80
mov ecx, dword [esp + 0x1c]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.10178bf0
movss xmm1, dword [esp + 0xc4]
lea ecx, [esp + 0x180]
movss xmm2, dword [0x1026bdc4]
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x44]
mov esi, dword [esp + 0x1c]
mulss xmm1, dword [esp + 0x24]
mov dword [esp + 0x120], 0x7f800000
mulss xmm0, xmm2
mov dword [esp + 0x11c], 0x7f800000
mulss xmm1, xmm2
mov dword [esp + 0x118], 0x7f800000
addss xmm0, dword [esp + 0x4c]
mov dword [esp + 0x12c], 0x7f800000
addss xmm1, dword [esp + 0x50]
mov dword [esp + 0x128], 0x7f800000
mov dword [esp + 0x124], 0x7f800000
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x14]
xorps xmm0, xmmword [0x1026c420]
mulss xmm0, xmm2
mov dword [esp + 0x138], 0x7f800000
movss dword [esp + 0x64], xmm1
mov dword [esp + 0x134], 0x7f800000
addss xmm0, dword [esp + 0x54]
mov dword [esp + 0x130], 0x7f800000
movss dword [esp + 0x68], xmm0
call fcn.100070f0
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.10007150
mov ecx, dword [0x1029a49c]
lea edx, [esp + 0x118]
push edx
lea edx, [esp + 0x98]
mov dword [esp + 0x98], 0x10238480
push edx
mov dword [esp + 0xa0], esi
lea edx, [esp + 0x188]
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov eax, dword [ecx]
push 0x46004003
push edx
call dword [eax + 0x14]
mov dword [esp + 0xb4], 0x7f800000
mov dword [esp + 0xb0], 0x7f800000
mov dword [esp + 0xac], 0x7f800000
mov dword [esp + 0x38], 0x7f800000
mov dword [esp + 0x34], 0x7f800000
mov dword [esp + 0x30], 0x7f800000
lea edx, [esp + 0xac]
lea ecx, [esp + 0x4c]
call fcn.10085920
lea edx, [esp + 0x30]
mov byte [esp + 0x43], al
lea ecx, [esp + 0x124]
call fcn.10085920
cmp byte [esp + 0x43], 0
jne 0x1008ce0e
test al, al
je 0x1008ce90
movzx ecx, byte [edi + 0x118]
movzx eax, byte [edi + 0x117]
movss xmm0, dword [esp + 0x30]
shl ecx, 8
or ecx, eax
movss dword [esp + 0x60], xmm0
movzx eax, byte [edi + 0x116]
movss xmm0, dword [esp + 0x34]
shl ecx, 8
or ecx, eax
movss dword [esp + 0x64], xmm0
movzx eax, byte [edi + 0x115]
movss xmm0, dword [esp + 0xac]
push 0
shl ecx, 8
or ecx, eax
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0xb4]
lea eax, [esp + 0x64]
push ecx
mov dword [esp], 0x3f800000
push ecx
push ecx
mov ecx, dword [0x102afcc8]
push eax
lea eax, [esp + 0x44]
movss dword [esp + 0x48], xmm0
push eax
call fcn.100289b0
cmp byte [edi + 0x12b], 0
mov dword [esp + 0x54], 0x7f800000
mov dword [esp + 0x50], 0x7f800000
mov dword [esp + 0x4c], 0x7f800000
je 0x1008cf4a
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [0x1029a388]
je 0x1008cf4e
push 6
push ecx
call fcn.1016ba80
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x20]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.10178bf0
push eax
call fcn.10085790
add esp, 8
test al, al
je 0x1008cf4a
movzx eax, byte [edi + 0x12e]
movss xmm0, dword [esp + 0x4c]
movss xmm1, dword [edi + 0x130]
push ecx
movzx ecx, byte [edi + 0x12f]
shl ecx, 8
or ecx, eax
movss dword [esp + 0x64], xmm0
movzx eax, byte [edi + 0x12d]
movss xmm0, dword [esp + 0x54]
shl ecx, 8
or ecx, eax
movss dword [esp + 0x68], xmm0
movzx eax, byte [edi + 0x12c]
shl ecx, 8
or ecx, eax
push ecx
lea ecx, [esp + 0x68]
call fcn.10029170
add esp, 8
mov ecx, dword [esp + 0x1c]
cmp byte [edi + 0x119], 0
je 0x1008d361
call fcn.1000dc50
cmp dword [eax], 8
je 0x1008d361
mov ecx, dword [esp + 0x1c]
call fcn.10092210
mov esi, eax
test esi, esi
je 0x1008d361
lea ecx, [edi + 0x122]
push ecx
lea ecx, [edi + 0x11e]
push ecx
lea ecx, [edi + 0x11a]
push ecx
push ecx
mov ecx, esi
call fcn.100927f0
mov eax, dword [esp + 0x1c]
cmp eax, dword [0x102a5680]
jne 0x1008d361
mov eax, dword [esi + 0x58]
cmp eax, dword [0x102a5e20]
jne 0x1008d1c4
mov eax, dword [esp + 0x20]
mov ecx, dword [0x102999e4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x102ba26c]
cmp eax, dword [ecx + 4]
jle 0x1008d004
push 0x102ba26c
call fcn.101e23b9
add esp, 4
cmp dword [0x102ba26c], 0xffffffff
jne 0x1008d004
push 0x59aabfdd
call fcn.10007000
push 0x102ba26c
mov dword [0x102ba270], eax
call fcn.101e236f
add esp, 4
mov ecx, dword [0x102ba270]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
call fcn.10180530
mov eax, dword [esi + 0x6c]
lea edx, [esp + 0x4c]
sub esp, 0x10
movaps xmm2, xmm0
mov ecx, esp
movq xmm0, qword [eax - 0xc]
mov eax, dword [eax - 4]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x2c]
call fcn.10095650
mov eax, dword [esp + 0x5c]
add esp, 0x10
mov ecx, dword [esp + 0x50]
cmp eax, ecx
je 0x1008d1b5
push dword [esp + 0x60]
push ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.1008e200
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [eax]
mov dword [esp + 0x88], ecx
movss xmm0, dword [esp + 0x88]
subss xmm0, dword [0x1026ba10]
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], eax
divss xmm0, dword [0x1026bbf4]
maxss xmm0, dword [0x1026b97c]
comiss xmm0, dword [0x1026b9f0]
jbe 0x1008d1b5
mulss xmm0, dword [0x1026bcac]
lea ecx, [esp + 0xe0]
cvttss2si edx, xmm0
call fcn.10020a00
push 0x1025df28
lea ecx, [esp + 0xe4]
call fcn.10025030
lea ecx, [esp + 0xe0]
call fcn.1000d6b0
mov edx, dword [0x102ba258]
lea ecx, [esp + 0x88]
push eax
call fcn.10028e80
add esp, 4
mov dword [esp + 0x108], 0xbf800000
lea ecx, [esp + 0x60]
mov dword [esp + 0x10c], 0xbf800000
call fcn.100261d0
lea ecx, [esp + 0x30]
push ecx
mov ecx, eax
call fcn.1005daa0
mov esi, eax
lea ecx, [esp + 0xe0]
mov eax, dword [0x102afcc4]
movss xmm0, dword [eax + 0x5c]
subss xmm0, dword [esp + 0x88]
mulss xmm0, dword [0x1026ba54]
movss dword [esp + 0xac], xmm0
movss xmm0, dword [eax + 0x60]
mulss xmm0, dword [0x1026ba54]
subss xmm0, dword [esp + 0x8c]
subss xmm0, dword [0x1026bc10]
movss dword [esp + 0xb0], xmm0
call fcn.1000d6b0
lea ecx, [esp + 0x108]
mov edx, eax
push ecx
push 1
push dword [esi]
lea ecx, [esp + 0xb8]
push ecx
mov ecx, dword [0x102ba258]
call fcn.10029020
add esp, 0x10
lea ecx, [esp + 0xe0]
call fcn.1000d660
lea ecx, [esp + 0x4c]
call fcn.10028040
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, dword [0x102a5e2c]
je 0x1008d1e0
cmp eax, dword [0x102a5e34]
je 0x1008d1e0
cmp eax, dword [0x102a5e24]
jne 0x1008d361
mov eax, dword [esp + 0x20]
mov ecx, dword [0x102999e4]
mov edi, dword [eax + ecx*4]
mov eax, dword [0x102ba274]
cmp eax, dword [edi + 4]
jle 0x1008d226
push 0x102ba274
call fcn.101e23b9
add esp, 4
cmp dword [0x102ba274], 0xffffffff
jne 0x1008d226
lea eax, [esp + 0x1c]
push 0x102ba274
mov dword [0x102ba278], eax
call fcn.101e236f
add esp, 4
mov eax, dword [esi + 0x6c]
sub eax, 0xc
push eax
call fcn.1008dcb0
comiss xmm0, dword [0x1026b97c]
movss dword [esp + 0x24], xmm0
jb 0x1008d361
mov eax, dword [0x102ba27c]
cmp eax, dword [edi + 4]
jle 0x1008d27b
push 0x102ba27c
call fcn.101e23b9
add esp, 4
cmp dword [0x102ba27c], 0xffffffff
jne 0x1008d275
push 0x102ba27c
call fcn.101e236f
add esp, 4
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0xe0]
movaps xmm2, xmm0
push eax
call fcn.1008df60
lea ecx, [esp + 0xe0]
call fcn.1000d6b0
mov edx, dword [0x102ba258]
lea ecx, [esp + 0x88]
push eax
call fcn.10028e80
add esp, 4
mov dword [esp + 0x108], 0xbf800000
lea ecx, [esp + 0x60]
mov dword [esp + 0x10c], 0xbf800000
call fcn.100261d0
lea ecx, [esp + 0x30]
push ecx
mov ecx, eax
call fcn.1005daa0
mov esi, eax
lea ecx, [esp + 0xe0]
mov eax, dword [0x102afcc4]
movss xmm0, dword [eax + 0x5c]
subss xmm0, dword [esp + 0x88]
mulss xmm0, dword [0x1026ba54]
movss dword [esp + 0xac], xmm0
movss xmm0, dword [eax + 0x60]
mulss xmm0, dword [0x1026ba54]
subss xmm0, dword [esp + 0x8c]
subss xmm0, dword [0x1026bc10]
movss dword [esp + 0xb0], xmm0
call fcn.1000d6b0
lea ecx, [esp + 0x108]
mov edx, eax
push ecx
push 1
push dword [esi]
lea ecx, [esp + 0xb8]
push ecx
mov ecx, dword [0x102ba258]
call fcn.10029020
add esp, 0x10
lea ecx, [esp + 0xe0]
call fcn.1000d660
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.101e6db2
call fcn.101e6db2
call fcn.101e6db2
call fcn.101e6db2
call fcn.101e6db2
call fcn.101e6db2
call fcn.101e6db2
call fcn.101e6db2
call fcn.101e6db2
call fcn.101e6db2
call fcn.101e6db2
call fcn.101745f0
int3