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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100be61b
mov eax, dword fs:[0]
push eax
sub esp, 0x330
mov eax, dword [0x100d400c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
mov dword [ebp - 4], 0
test eax, eax
je 0x1008f6db
cmp dword [0x101136b8], 0
je 0x1008f6db
mov ebx, dword [eax + 8]
mov eax, dword [0x10115788]
test al, 1
jne 0x1008e5b6
or eax, 1
mov dword [0x10115788], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x318]
call fcn.10046490
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1011578c
call fcn.10046920
push 0x100c0140
call fcn.100b3d2b
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x1011578c]
call eax
mov ecx, eax
mov dword [ebp - 0x330], ecx
test ebx, ebx
je 0x1008e628
test ecx, ecx
je 0x1008e628
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x1008e628
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov eax, dword [ebx]
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x1008e619
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008e5f0
xor edx, edx
test ecx, ecx
je 0x1008e619
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008e600
cmp edi, 0xd791104e
je 0x1008e62a
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1008e628
mov ecx, dword [ebp - 0x330]
jmp 0x1008e5d4
xor ebx, ebx
movsx eax, byte [ebx + 0x10]
movss xmm0, dword [0x100c92e8]
dec eax
movss xmm1, dword [0x100c92dc]
movss xmm5, dword [0x100c9040]
cmp eax, 6
ja case.0x1008e64c.2
jmp dword [eax*4 + 0x1008f6fc]
push dword [ebx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov edx, eax
jmp 0x1008e6ba
push dword [ebx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov edx, eax
jmp 0x1008e6ba
movss xmm4, dword [ebx + 0xc]
movaps xmm3, xmm0
andps xmm3, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltss xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm3
addss xmm2, xmm1
subss xmm2, xmm1
movaps xmm0, xmm2
subss xmm0, xmm4
cmpnless xmm0, xmm3
andps xmm0, xmm5
subss xmm2, xmm0
cvttss2si edx, xmm2
jmp 0x1008e6ba
xor edx, edx
jmp 0x1008e6ba
mov edx, dword [ebx + 0xc]
mov ecx, dword [0x1010c3e8]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ebx, dword [ebp - 0x328]
mov ecx, dword [0x10115788]
mov dword [ebp - 0x330], eax
mov ebx, dword [ebx + 8]
test cl, 1
jne 0x1008e721
or ecx, 1
mov dword [0x10115788], ecx
mov edx, 0x990704d7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x318]
call fcn.10046490
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1011578c
call fcn.10046920
push 0x100c0140
call fcn.100b3d2b
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x1011578c]
call eax
mov ecx, eax
mov dword [ebp - 0x33c], ecx
test ebx, ebx
je 0x1008e798
test ecx, ecx
je 0x1008e798
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x1008e798
nop
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov eax, dword [ebx]
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x1008e789
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008e760
xor edx, edx
test ecx, ecx
je 0x1008e789
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008e770
cmp edi, 0x11ab48ff
je 0x1008e79a
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1008e798
mov ecx, dword [ebp - 0x33c]
jmp 0x1008e740
xor ebx, ebx
movsx eax, byte [ebx + 0x10]
dec eax
cmp eax, 6
ja case.0x1008e7a8.2
jmp dword [eax*4 + 0x1008f718]
push dword [ebx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov edx, eax
jmp 0x1008e82b
push dword [ebx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov edx, eax
jmp 0x1008e82b
movss xmm4, dword [ebx + 0xc]
movss xmm3, dword [0x100c92e8]
movaps xmm0, xmm4
movss xmm1, dword [0x100c92dc]
andps xmm3, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltss xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm3
addss xmm2, xmm1
subss xmm2, xmm1
movss xmm1, dword [0x100c9040]
movaps xmm0, xmm2
subss xmm0, xmm4
cmpnless xmm0, xmm3
andps xmm0, xmm1
subss xmm2, xmm0
cvttss2si edx, xmm2
jmp 0x1008e82b
xor edx, edx
jmp 0x1008e82b
mov edx, dword [ebx + 0xc]
mov ecx, dword [0x1010c3e8]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov edx, dword [ebp - 0x330]
mov dword [ebp - 0x338], eax
lea ecx, [edx - 1]
cmp ecx, 0x3f
ja 0x1008f6a5
lea ecx, [eax - 1]
cmp ecx, 0x3f
ja 0x1008f6a5
mov ecx, dword [0x1010c3e8]
lea esi, [ebp - 0x1b4]
push esi
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x1008f6a5
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x310], 0xf
mov byte [ebp - 0x324], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1008e8a8
sub ecx, edx
lea eax, [ebp - 0x1a4]
push ecx
push eax
lea ecx, [ebp - 0x324]
call fcn.1002bb90
mov byte [ebp - 4], 3
lea eax, [ebp - 0x324]
mov ecx, 0x18
mov dword [ebp - 0x44], 0
cmp dword [ebp - 0x314], ecx
mov dword [ebp - 0x34], 0
cmovb ecx, dword [ebp - 0x314]
cmp dword [ebp - 0x310], 0x10
push ecx
cmovae eax, dword [ebp - 0x324]
lea ecx, [ebp - 0x44]
push eax
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.1002bb90
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x310]
cmp edx, 0x10
jb 0x1008e94f
mov ecx, dword [ebp - 0x324]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008e945
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008f6cb
push edx
push ecx
call fcn.100b3d40
add esp, 8
mov eax, dword [ebp - 0x328]
mov ebx, dword [eax + 8]
mov eax, dword [0x10115788]
test al, 1
jne 0x1008e99f
or eax, 1
mov dword [0x10115788], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x318]
call fcn.10046490
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1011578c
call fcn.10046920
push 0x100c0140
call fcn.100b3d2b
add esp, 8
mov byte [ebp - 4], 5
mov eax, dword [0x1011578c]
call eax
mov ecx, eax
mov dword [ebp - 0x33c], ecx
test ebx, ebx
je 0x1008ea18
test ecx, ecx
je 0x1008ea18
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x1008ea18
nop dword [eax]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov eax, dword [ebx]
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x1008ea09
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008e9e0
xor edx, edx
test ecx, ecx
je 0x1008ea09
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008e9f0
cmp edi, 0x2a7e565d
je 0x1008ea1a
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1008ea18
mov ecx, dword [ebp - 0x33c]
jmp 0x1008e9c0
xor ebx, ebx
movsx eax, byte [ebx + 0x10]
dec eax
cmp eax, 6
ja case.0x1008ea28.2
jmp dword [eax*4 + 0x1008f734]
push dword [ebx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov ebx, eax
jmp 0x1008eabc
push dword [ebx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov dword [ebp - 0x334], eax
mov ebx, eax
jmp 0x1008eac2
movss xmm4, dword [ebx + 0xc]
movss xmm3, dword [0x100c92e8]
movaps xmm0, xmm4
movss xmm1, dword [0x100c92dc]
andps xmm3, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltss xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm3
addss xmm2, xmm1
subss xmm2, xmm1
movss xmm1, dword [0x100c9040]
movaps xmm0, xmm2
subss xmm0, xmm4
cmpnless xmm0, xmm3
andps xmm0, xmm1
subss xmm2, xmm0
cvttss2si ebx, xmm2
jmp 0x1008eabc
mov dword [ebp - 0x334], 0
jmp 0x1008eacb
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x334], ebx
cmp ebx, 0xa
je 0x1008f663
mov ecx, dword [0x1010c3ec]
mov ebx, dword [ebp - 0x338]
push ebx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x33c], eax
test eax, eax
je 0x1008f663
mov esi, dword [0x1010c3e8]
lea eax, [ebp - 0x30c]
push eax
push ebx
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
mov ecx, esi
call edx
test al, al
je 0x1008f663
lea ecx, [ebp - 0x2fc]
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x310], 0xf
mov byte [ebp - 0x324], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1008eb40
sub ecx, edx
lea eax, [ebp - 0x2fc]
push ecx
push eax
lea ecx, [ebp - 0x324]
call fcn.1002bb90
mov byte [ebp - 4], 7
lea eax, [ebp - 0x324]
cmp dword [ebp - 0x314], 0x18
mov ecx, 0x18
mov dword [ebp - 0x2c], 0
cmovb ecx, dword [ebp - 0x314]
cmp dword [ebp - 0x310], 0x10
push ecx
cmovae eax, dword [ebp - 0x324]
lea ecx, [ebp - 0x2c]
push eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
call fcn.1002bb90
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x5c]
call fcn.10040d80
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x1008ebe6
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008ebdc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008f6cb
push edx
push ecx
call fcn.100b3d40
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x310]
cmp edx, 0x10
jb 0x1008ec24
mov ecx, dword [ebp - 0x324]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008ec1a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008f6cb
push edx
push ecx
call fcn.100b3d40
add esp, 8
mov eax, dword [ebp - 0x328]
mov ebx, dword [eax + 8]
mov eax, dword [0x10115788]
test al, 1
jne 0x1008ec74
or eax, 1
mov dword [0x10115788], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x318]
call fcn.10046490
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1011578c
call fcn.10046920
push 0x100c0140
call fcn.100b3d2b
add esp, 8
mov byte [ebp - 4], 5
mov eax, dword [0x1011578c]
call eax
mov ecx, eax
mov dword [ebp - 0x32c], ecx
test ebx, ebx
je 0x1008ece8
test ecx, ecx
je 0x1008ece8
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x1008ece8
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov eax, dword [ebx]
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x1008ecd9
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008ecb0
xor edx, edx
test ecx, ecx
je 0x1008ecd9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008ecc0
cmp edi, 0xa0d9523e
je 0x1008ecea
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1008ece8
mov ecx, dword [ebp - 0x32c]
jmp 0x1008ec92
xor ebx, ebx
movsx eax, byte [ebx + 0x10]
dec eax
cmp eax, 6
ja case.0x1008ecf8.2
jmp dword [eax*4 + 0x1008f750]
push dword [ebx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
jmp 0x1008ed77
push dword [ebx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
jmp 0x1008ed77
movss xmm4, dword [ebx + 0xc]
movss xmm3, dword [0x100c92e8]
movaps xmm0, xmm4
movss xmm1, dword [0x100c92dc]
andps xmm3, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltss xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm3
addss xmm2, xmm1
subss xmm2, xmm1
movss xmm1, dword [0x100c9040]
movaps xmm0, xmm2
subss xmm0, xmm4
cmpnless xmm0, xmm3
andps xmm0, xmm1
subss xmm2, xmm0
cvttss2si eax, xmm2
jmp 0x1008ed77
xor eax, eax
jmp 0x1008ed77
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x328]
mov ebx, dword [eax + 8]
mov eax, dword [0x10115788]
test al, 1
jne 0x1008edcd
or eax, 1
mov dword [0x10115788], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x318]
call fcn.10046490
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1011578c
call fcn.10046920
push 0x100c0140
call fcn.100b3d2b
add esp, 8
mov byte [ebp - 4], 5
mov eax, dword [0x1011578c]
call eax
mov ecx, eax
mov dword [ebp - 0x328], ecx
test ebx, ebx
je 0x1008ee48
test ecx, ecx
je 0x1008ee48
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x1008ee48
nop dword [eax + eax]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov eax, dword [ebx]
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x1008ee39
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008ee10
xor edx, edx
test ecx, ecx
je 0x1008ee39
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008ee20
cmp edi, 0x6b98ed8f
je 0x1008ee4a
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1008ee48
mov ecx, dword [ebp - 0x328]
jmp 0x1008edf0
xor ebx, ebx
movsx eax, byte [ebx + 0x10]
dec eax
cmp eax, 6
ja case.0x1008ee54.2
jmp dword [eax*4 + 0x1008f76c]
push dword [ebx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
jmp 0x1008eed3
push dword [ebx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
jmp 0x1008eed3
movss xmm2, dword [ebx + 0xc]
movss xmm4, dword [0x100c92e8]
movaps xmm0, xmm2
movss xmm3, dword [0x100c92dc]
andps xmm4, xmm2
xorps xmm0, xmm4
movaps xmm1, xmm2
cmpltss xmm0, xmm3
andps xmm3, xmm0
orps xmm3, xmm4
addss xmm1, xmm3
subss xmm1, xmm3
movaps xmm0, xmm1
subss xmm0, xmm2
movss xmm2, dword [0x100c9040]
cmpnless xmm0, xmm4
andps xmm0, xmm2
subss xmm1, xmm0
cvttss2si eax, xmm1
jmp 0x1008eed3
xor eax, eax
jmp 0x1008eed3
mov eax, dword [ebx + 0xc]
mov ecx, dword [0x100fe258]
mov dword [ebp - 0x14], eax
mov eax, dword [0x100fe254]
cmp eax, ecx
je 0x1008f091
nop dword [eax]
cmp dword [eax], 2
je 0x1008eefc
add eax, 4
cmp eax, ecx
jne 0x1008eef0
cmp eax, ecx
je 0x1008f091
mov ecx, dword [0x1010c3e8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov esi, dword [ebp - 0x338]
mov ebx, dword [ebp - 0x32c]
cmp esi, eax
jne 0x1008f09d
movd xmm0, ebx
lea ecx, [ebp - 0x14]
cvtdq2ps xmm0, xmm0
push ecx
lea ecx, [ebp - 0x328]
mov edx, str.Harmed_by__s_in_the__s_for__i_damage___i_health_remaining__n
push ecx
lea ecx, [ebp - 0x2c]
cvttss2si eax, xmm0
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x334]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x10100088]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.10091df0
mov byte [ebp - 4], 0xa
mov esi, dword [0x100c2ffc]
push 0x2c
call fcn.100b38e1
mov edi, eax
add esp, 0x14
mov dword [ebp - 0x310], edi
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x2c]
xorps xmm0, xmm0
lea ecx, [edi + 0xc]
movq qword [edi], xmm0
mov dword [edi + 8], 0
push eax
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov dword [edi], 0x100c35b4
call fcn.10030340
lea ecx, [edi + 0xc]
xorps xmm0, xmm0
mov dword [ecx + 0x18], esi
movlpd qword [ebp - 0x314], xmm0
mov dword [ecx + 0x1c], 0x41000000
mov dword [ebp - 0x314], ecx
mov dword [ebp - 0x310], edi
mov byte [ebp - 4], 0xc
mov eax, dword [0x1010c5c8]
cmp eax, dword [0x1010c5cc]
je 0x1008effd
mov dword [eax + 4], 0
xor esi, esi
mov dword [eax], ecx
mov dword [eax + 4], edi
add dword [0x1010c5c8], 8
jmp 0x1008f010
lea ecx, [ebp - 0x314]
push ecx
push eax
call fcn.100306c0
mov esi, dword [ebp - 0x310]
mov byte [ebp - 4], 0xa
test esi, esi
je 0x1008f03a
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x1008f03a
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x1008f03a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.10030340
push 0x101136b8
call fcn.10039c50
mov byte [ebp - 4], 5
add esp, 0x1c
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x1008f097
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008f085
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1008f085
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100b3d40
add esp, 8
jmp 0x1008f097
mov ebx, dword [ebp - 0x32c]
mov esi, dword [ebp - 0x338]
mov ecx, dword [0x1010c3e8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp dword [ebp - 0x330], eax
jne 0x1008f663
mov ecx, dword [0x1010c3e8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp esi, eax
je 0x1008f663
mov esi, dword [ebp - 0x334]
cmp esi, 1
sete byte [0x101001dd]
cmp byte [0x100fd830], 0
je 0x1008f226
mov eax, dword [0x1010c444]
mov edi, dword [ebp - 0x33c]
mov ecx, edi
mov dword [0x101135f0], 0x40000000
movss xmm0, dword [eax + 0x10]
movss dword [0x101135e8], xmm0
addss xmm0, dword [0x100c90cc]
movss dword [0x101135ec], xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movss dword [0x101001d8], xmm0
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
push 0x101001f8
push 0x101001ec
mov ecx, edi
movss xmm0, dword [eax]
movss dword [0x101001e0], xmm0
movss xmm0, dword [eax + 4]
movss dword [0x101001e4], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [0x1010c54c]
movss dword [0x101001e8], xmm0
call eax
movss xmm0, dword [0x10100200]
addss xmm0, dword [0x100c9184]
movss xmm2, dword [0x101001e4]
movss xmm1, dword [0x101001e0]
mov eax, dword [0x100fd8e4]
mov ecx, dword [0x100fd8e8]
movss dword [0x101001ec], xmm1
movss dword [0x101001f0], xmm2
movss dword [0x101001f8], xmm1
movss dword [0x101001fc], xmm2
movss dword [0x10100200], xmm0
cmp eax, ecx
je 0x1008f226
cmp dword [eax], 2
je 0x1008f1ce
add eax, 4
cmp eax, ecx
jne 0x1008f1c2
cmp eax, ecx
je 0x1008f226
mov eax, dword [0x100fd7bc]
and eax, 3
sub eax, 1
je 0x1008f200
sub eax, 1
jne 0x1008f226
mov ecx, dword [0x1010c43c]
push ecx
mov dword [esp], eax
push eax
push 0x64
push ecx
mov dword [esp], 0x3f800000
push str.ui_beep07.wav
jmp 0x1008f21f
mov ecx, dword [0x1010c43c]
push ecx
mov dword [esp], 0
push 0
push 0x64
push ecx
mov dword [esp], 0x3f4ccccd
push str.buttons_arena_switch_press_02.wav
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
test esi, esi
je 0x1008f663
mov esi, dword [0x101001a4]
mov edi, dword [0x101001a8]
cmp esi, edi
je 0x1008f267
nop
mov edx, dword [0x1010c640]
mov eax, dword [0x101136b8]
add edx, 0xffffffbe
mov ecx, dword [esi + 0x18]
xor edx, 0x358f703
cmp ecx, dword [edx + eax]
jne 0x1008f260
mov byte [esi + 0x1d], 1
add esi, 0x20
cmp esi, edi
jne 0x1008f240
mov eax, dword [0x101001c0]
test eax, eax
je 0x1008f663
mov edx, dword [0x101001bc]
lea esi, [eax + edx]
cmp edx, esi
je 0x1008f663
mov ecx, dword [0x1010c640]
mov edi, dword [0x101001b8]
add ecx, 0xffffffbe
mov eax, dword [0x101136b8]
dec edi
xor ecx, 0x358f703
mov dword [ebp - 0x328], edi
mov eax, dword [ecx + eax]
mov ecx, dword [0x101001b4]
mov dword [ebp - 0x330], eax
mov eax, edx
and eax, edi
mov edi, dword [ecx + eax*4]
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0x338], edi
cmp dword [edi + 4], eax
jne 0x1008f2df
mov eax, dword [edi]
mov ebx, dword [ebp - 0x33c]
cmp dword [eax], ebx
mov ebx, dword [ebp - 0x32c]
je 0x1008f2f0
inc edx
cmp edx, esi
je 0x1008f663
mov edi, dword [ebp - 0x328]
jmp 0x1008f2b5
mov eax, dword [ebp - 0x334]
mov esi, dword [0x101001cc]
movd xmm0, ebx
mov dword [ebp - 0x314], eax
mov eax, dword [0x101001d4]
cvtdq2ps xmm0, xmm0
inc eax
mov dword [ebp - 0x318], edi
movss dword [ebp - 0x310], xmm0
cmp esi, eax
ja 0x1008f332
push ecx
mov ecx, 0x101001c4
call fcn.1003a470
mov esi, dword [0x101001cc]
lea ecx, [esi - 1]
mov eax, ecx
and eax, dword [0x101001d0]
mov dword [0x101001d0], eax
cmovne esi, eax
dec esi
mov ebx, esi
and ebx, ecx
mov ecx, dword [0x101001c8]
cmp dword [ecx + ebx*4], 0
jne 0x1008f36f
push 0xc
call fcn.100b38e1
mov ecx, dword [0x101001c8]
add esp, 4
mov dword [ecx + ebx*4], eax
mov ecx, dword [0x101001c8]
mov ecx, dword [ecx + ebx*4]
movq xmm0, qword [ebp - 0x318]
mov eax, dword [ebp - 0x310]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, dword [0x101001d4]
inc eax
mov dword [0x101001d0], esi
mov dword [0x101001d4], eax
cmp eax, 0x80
jbe 0x1008f3bd
nop
add eax, 0xffffffff
mov dword [0x101001d4], eax
je 0x1008f3b3
cmp eax, 0x80
ja 0x1008f3a0
jmp 0x1008f3bd
mov dword [0x101001d0], 0
mov ecx, dword [0x1010019c]
mov edx, dword [0x101001a0]
movss xmm2, dword [0x100c92e4]
add edx, ecx
cmp ecx, edx
je 0x1008f663
mov esi, dword [0x10100198]
mov ebx, dword [0x10100194]
dec esi
xor edi, edi
nop word [eax + eax]
mov eax, ecx
and eax, esi
mov eax, dword [ebx + eax*4]
cmp byte [eax + 0x35], 0
jne 0x1008f434
movss xmm1, dword [eax + 0xc]
mov ebx, dword [0x1010c444]
addss xmm1, dword [eax + 8]
movss xmm0, dword [ebx + 0x10]
subss xmm0, xmm1
call fcn.10030e90
comiss xmm0, dword [0x100c9040]
mov ebx, dword [0x10100194]
ja 0x1008f434
comiss xmm2, xmm0
jbe 0x1008f434
movaps xmm2, xmm0
mov edi, eax
inc ecx
cmp ecx, edx
jne 0x1008f3f0
mov dword [ebp - 0x330], edi
test edi, edi
mov edi, dword [ebp - 0x338]
je 0x1008f663
mov eax, dword [0x100fe254]
mov ecx, dword [0x100fe258]
cmp eax, ecx
je 0x1008f5e1
cmp dword [eax], 1
je 0x1008f46c
add eax, 4
cmp eax, ecx
jne 0x1008f460
cmp eax, ecx
je 0x1008f5e1
movd xmm0, dword [ebp - 0x32c]
lea ecx, [ebp - 0x14]
cvtdq2ps xmm0, xmm0
push ecx
lea ecx, [ebp - 0x328]
mov edx, str.Hit__s_in_the__s_for__i_damage___i_health_remaining__n
push ecx
lea ecx, [ebp - 0x2c]
cvttss2si eax, xmm0
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x334]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x10100088]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10091df0
mov byte [ebp - 4], 0xd
mov esi, dword [0x100c2ffc]
push 0x2c
call fcn.100b38e1
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0x310], ebx
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x2c]
xorps xmm0, xmm0
lea ecx, [ebx + 0xc]
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
push eax
mov dword [ebx + 4], 1
mov dword [ebx + 8], 1
mov dword [ebx], 0x100c35b4
call fcn.10030340
lea ecx, [ebx + 0xc]
xorps xmm0, xmm0
mov dword [ecx + 0x18], esi
movlpd qword [ebp - 0x314], xmm0
mov dword [ecx + 0x1c], 0x41000000
mov dword [ebp - 0x314], ecx
mov dword [ebp - 0x310], ebx
mov byte [ebp - 4], 0xf
mov eax, dword [0x1010c5c8]
cmp eax, dword [0x1010c5cc]
je 0x1008f550
mov dword [eax + 4], 0
xor esi, esi
mov dword [eax], ecx
mov dword [eax + 4], ebx
add dword [0x1010c5c8], 8
jmp 0x1008f563
lea ecx, [ebp - 0x314]
push ecx
push eax
call fcn.100306c0
mov esi, dword [ebp - 0x310]
mov byte [ebp - 4], 0xd
test esi, esi
je 0x1008f58c
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1008f58c
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1008f58c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.10030340
push 0x101136b8
call fcn.10039c50
mov byte [ebp - 4], 5
add esp, 0x1c
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x1008f5e1
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008f5d7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1008f5d7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100b3d40
add esp, 8
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x33c]
add ecx, 8
mov byte [eax + 0x35], 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x4f4
lea ecx, [eax + 0x100d3de8]
test ecx, ecx
je 0x1008f663
mov dword [ecx + 0x2c], 0
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x42c]
cmp eax, 6
jne 0x1008f635
mov eax, dword [ecx + 0x4ac]
test eax, eax
jle 0x1008f663
dec eax
mov dword [ecx + 0x4ac], eax
jmp 0x1008f663
cmp eax, 2
jne 0x1008f64d
mov eax, dword [ecx + 0x4b4]
test eax, eax
jle 0x1008f663
dec eax
mov dword [ecx + 0x4b4], eax
jmp 0x1008f663
cmp eax, 4
jne 0x1008f663
mov eax, dword [ecx + 0x4b8]
test eax, eax
jle 0x1008f663
dec eax
mov dword [ecx + 0x4b8], eax
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x1008f693
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008f689
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008f6cb
push edx
push ecx
call fcn.100b3d40
add esp, 8
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov edx, dword [ebp - 0x48]
cmp edx, 0x10
jb 0x1008f6db
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008f6d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1008f6d1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100b3d40
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100b38c5
mov esp, ebp
pop ebp
ret 4