Function at 0x1012775e
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101e772f
mov eax, dword fs:[0]
push eax
sub esp, 0x370
mov eax, dword [0x102924c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x304], 0
mov eax, 0xf
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0
test ecx, ecx
je 0x1012859a
cmp dword [0x103c3e20], 0
je 0x1012859a
mov eax, dword [0x103c8cd0]
mov edi, dword [ecx + 8]
test al, 1
jne 0x1012753d
or eax, 1
mov dword [0x103c8cd0], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x314]
call fcn.10074160
push 0xda7d68cb
mov edx, eax
mov ecx, 0x103c8dd8
call fcn.100745a0
push 0x101ea780
call fcn.101ab3d4
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x103c8dd8]
call eax
mov esi, eax
mov dword [ebp - 0x2f4], esi
test edi, edi
je 0x101275dc
test esi, esi
je 0x101275dc
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x2f8], ecx
test ecx, ecx
je 0x101275dc
nop dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x101275b9
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [esi + ecx], 0
jne 0x10127590
xor edx, edx
test ecx, ecx
je 0x101275b9
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101275a0
cmp edi, 0xd791104e
je 0x101275d4
mov ecx, dword [ebp - 0x2f8]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x2f8], ecx
test ecx, ecx
je 0x101275dc
mov esi, dword [ebp - 0x2f4]
jmp 0x10127570
mov ecx, dword [ebp - 0x2f8]
jmp 0x101275de
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x101275e8.2
jmp dword [eax*4 + 0x10128610]
push dword [ecx + 4]
call fcn.101bbcec
add esp, 4
mov edx, eax
jmp 0x10127645
push dword [ecx + 8]
call fcn.101bbcad
add esp, 4
mov edx, eax
jmp 0x10127645
movss xmm0, dword [ecx + 0xc]
sub esp, 8
movss dword [ebp - 0x2f8], xmm0
fld dword [ebp - 0x2f8]
fstp qword [esp]
call fcn.101d78f0
fstp dword [ebp - 0x2f8]
cvttss2si edx, dword [ebp - 0x2f8]
add esp, 8
jmp 0x10127645
xor edx, edx
jmp 0x10127645
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x103bc730]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov edi, dword [ebp - 0x18]
mov ecx, dword [0x103c8cd0]
mov dword [ebp - 0x304], eax
mov edi, dword [edi + 8]
test cl, 1
jne 0x101276a9
or ecx, 1
mov dword [0x103c8cd0], ecx
mov edx, 0x990704d7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x314]
call fcn.10074160
push 0xda7d68cb
mov edx, eax
mov ecx, 0x103c8dd8
call fcn.100745a0
push 0x101ea780
call fcn.101ab3d4
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x103c8dd8]
call eax
mov esi, eax
mov dword [ebp - 0x2f4], esi
test edi, edi
je 0x1012773c
test esi, esi
je 0x1012773c
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x2f8], ecx
test ecx, ecx
je 0x1012773c
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x10127719
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x101276f0
xor edx, edx
test ecx, ecx
je 0x10127719
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10127700
cmp edi, 0x11ab48ff
je 0x10127734
mov ecx, dword [ebp - 0x2f8]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x2f8], ecx
test ecx, ecx
je 0x1012773c
mov esi, dword [ebp - 0x2f4]
jmp 0x101276d1
mov ecx, dword [ebp - 0x2f8]
jmp 0x1012773e
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x10127748.2
jmp dword [eax*4 + 0x1012862c]
push dword [ecx + 4]
call fcn.101bbcec
add esp, 4
mov edx, eax
jmp 0x101277a5
push dword [ecx + 8]
call fcn.101bbcad
add esp, 4
mov edx, eax
jmp 0x101277a5
movss xmm0, dword [ecx + 0xc]
sub esp, 8
movss dword [ebp - 0x2f8], xmm0
fld dword [ebp - 0x2f8]
fstp qword [esp]
call fcn.101d78f0
fstp dword [ebp - 0x2f8]
cvttss2si edx, dword [ebp - 0x2f8]
add esp, 8
jmp 0x101277a5
xor edx, edx
jmp 0x101277a5
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x103bc730]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov edi, dword [ebp - 0x304]
mov esi, eax
mov dword [ebp - 0x14], esi
lea ecx, [edi - 1]
cmp ecx, 0x3f
ja 0x10128597
lea ecx, [esi - 1]
cmp ecx, 0x3f
ja 0x10128597
mov ecx, dword [0x103bc730]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp edi, eax
jne 0x10128597
mov ecx, dword [0x103bc730]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp esi, eax
je 0x10128597
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 8]
mov eax, dword [0x103c8cd0]
test al, 1
jne 0x1012784d
or eax, 1
mov dword [0x103c8cd0], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x314]
call fcn.10074160
push 0xda7d68cb
mov edx, eax
mov ecx, 0x103c8dd8
call fcn.100745a0
push 0x101ea780
call fcn.101ab3d4
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x103c8dd8]
call eax
mov esi, eax
mov dword [ebp - 0x2f4], esi
test edi, edi
je 0x101278dc
test esi, esi
je 0x101278dc
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x2f8], ecx
test ecx, ecx
je 0x101278dc
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x101278b9
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10127893
xor edx, edx
test ecx, ecx
je 0x101278b9
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101278a0
cmp edi, 0x2a7e565d
je 0x101278d4
mov ecx, dword [ebp - 0x2f8]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x2f8], ecx
test ecx, ecx
je 0x101278dc
mov esi, dword [ebp - 0x2f4]
jmp 0x10127875
mov ecx, dword [ebp - 0x2f8]
jmp 0x101278de
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x101278e8.2
jmp dword [eax*4 + 0x10128648]
push dword [ecx + 4]
call fcn.101bbcec
add esp, 4
mov esi, eax
jmp 0x1012794b
push dword [ecx + 8]
call fcn.101bbcad
add esp, 4
mov dword [ebp - 0x2f8], eax
mov esi, eax
jmp 0x10127951
movss xmm0, dword [ecx + 0xc]
sub esp, 8
movss dword [ebp - 0x2f8], xmm0
fld dword [ebp - 0x2f8]
fstp qword [esp]
call fcn.101d78f0
fstp dword [ebp - 0x2f8]
cvttss2si esi, dword [ebp - 0x2f8]
add esp, 8
jmp 0x1012794b
xor esi, esi
jmp 0x1012794b
mov esi, dword [ecx + 0xc]
mov dword [ebp - 0x2f8], esi
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.hitmarker
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.10019250
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 4
push eax
mov ecx, 0x103bd808
call fcn.10015bb0
mov al, byte [eax]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 0x2ed], al
cmp ecx, 0xf
jbe 0x101279cd
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101279bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101285e6
push ecx
push edx
call fcn.101ab3ee
mov al, byte [ebp - 0x2ed]
add esp, 8
test al, al
je 0x101279fd
mov eax, dword [0x103bc78c]
mov dword [0x103c3a14], 0x3f800000
movss xmm0, dword [eax + 0x10]
movss dword [0x103c3a0c], xmm0
addss xmm0, dword [0x10277cac]
movss dword [0x103c3a10], xmm0
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.hitmarkerSound
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.10019250
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 5
push eax
mov ecx, 0x103bd808
call fcn.10015bb0
mov al, byte [eax]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 0x2ed], al
cmp ecx, 0xf
jbe 0x10127a79
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10127a69
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101285eb
push ecx
push edx
call fcn.101ab3ee
mov al, byte [ebp - 0x2ed]
add esp, 8
test al, al
je 0x10127aa1
mov ecx, dword [0x103bc784]
push ecx
mov dword [esp], 0
push 0
mov eax, dword [ecx]
push 0x64
push ecx
mov dword [esp], 0x3f800000
push str.buttons_arena_switch_press_02.wav
call dword [eax + 0x30]
cmp esi, 0xa
je 0x10128597
mov ecx, dword [0x103bc734]
mov edi, dword [ebp - 0x14]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x308], eax
test eax, eax
je 0x10128597
mov esi, dword [0x103bc730]
lea eax, [ebp - 0x2ec]
push eax
push edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
mov ecx, esi
call edx
test al, al
je 0x10128597
xorps xmm0, xmm0
mov dword [ebp - 0x310], 0
lea ecx, [ebp - 0x2dc]
mov dword [ebp - 0x30c], 0
movups xmmword [ebp - 0x320], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10127b10
sub ecx, edx
lea eax, [ebp - 0x2dc]
push ecx
push eax
lea ecx, [ebp - 0x320]
call fcn.10019250
mov byte [ebp - 4], 6
lea eax, [ebp - 0x320]
mov ecx, 0x18
mov dword [ebp - 0x20], 0
cmp dword [ebp - 0x310], ecx
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
cmovb ecx, dword [ebp - 0x310]
cmp dword [ebp - 0x30c], 0xf
push ecx
cmova eax, dword [ebp - 0x320]
lea ecx, [ebp - 0x30]
push eax
mov dword [ebp - 0x1c], 0
call fcn.10019250
lea eax, [ebp - 0x30]
mov dword [ebp - 0x304], 2
push eax
lea ecx, [ebp - 0x4c]
call fcn.1002c580
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x10127bbf
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10127bb5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10128609
push ecx
push edx
call fcn.101ab3ee
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x30c]
cmp ecx, 0xf
jbe 0x10127bfd
mov edx, dword [ebp - 0x320]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10127bf3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10128609
push ecx
push edx
call fcn.101ab3ee
add esp, 8
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 8]
mov eax, dword [0x103c8cd0]
test al, 1
jne 0x10127c4a
or eax, 1
mov dword [0x103c8cd0], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x314]
call fcn.10074160
push 0xda7d68cb
mov edx, eax
mov ecx, 0x103c8dd8
call fcn.100745a0
push 0x101ea780
call fcn.101ab3d4
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x103c8dd8]
call eax
mov esi, eax
mov dword [ebp - 0x14], esi
test edi, edi
je 0x10127cd9
test esi, esi
je 0x10127cd9
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x2f4], ecx
test ecx, ecx
je 0x10127cd9
nop
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x10127cb9
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [esi + ecx], 0
jne 0x10127c90
xor edx, edx
test ecx, ecx
je 0x10127cb9
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10127ca0
cmp edi, 0xa0d9523e
je 0x10127cd1
mov ecx, dword [ebp - 0x2f4]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x2f4], ecx
test ecx, ecx
je 0x10127cd9
mov esi, dword [ebp - 0x14]
jmp 0x10127c70
mov ecx, dword [ebp - 0x2f4]
jmp 0x10127cdb
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x10127ce5.2
jmp dword [eax*4 + 0x10128664]
push dword [ecx + 4]
call fcn.101bbcec
add esp, 4
jmp 0x10127d32
push dword [ecx + 8]
call fcn.101bbcad
add esp, 4
jmp 0x10127d32
movss xmm0, dword [ecx + 0xc]
sub esp, 8
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fstp qword [esp]
call fcn.101d78f0
fstp dword [ebp - 0x14]
cvttss2si eax, dword [ebp - 0x14]
add esp, 8
jmp 0x10127d32
xor eax, eax
jmp 0x10127d32
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 8]
mov eax, dword [0x103c8cd0]
test al, 1
jne 0x10127d85
or eax, 1
mov dword [0x103c8cd0], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x314]
call fcn.10074160
push 0xda7d68cb
mov edx, eax
mov ecx, 0x103c8dd8
call fcn.100745a0
push 0x101ea780
call fcn.101ab3d4
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x103c8dd8]
call eax
mov esi, eax
mov dword [ebp - 0x14], esi
test edi, edi
je 0x10127e00
test esi, esi
je 0x10127e00
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10127e00
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x10127de9
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10127dc1
xor edx, edx
test ecx, ecx
je 0x10127de9
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10127dd0
cmp edi, 0x6b98ed8f
je 0x10127dfb
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10127e00
mov esi, dword [ebp - 0x14]
jmp 0x10127da3
mov ecx, dword [ebp - 0x18]
jmp 0x10127e02
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x10127e0c.2
jmp dword [eax*4 + 0x10128680]
push dword [ecx + 4]
call fcn.101bbcec
add esp, 4
mov ecx, eax
jmp 0x10127e5d
push dword [ecx + 8]
call fcn.101bbcad
add esp, 4
mov ecx, eax
jmp 0x10127e5d
movss xmm0, dword [ecx + 0xc]
sub esp, 8
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fstp qword [esp]
call fcn.101d78f0
fstp dword [ebp - 0x14]
cvttss2si ecx, dword [ebp - 0x14]
add esp, 8
jmp 0x10127e5d
xor ecx, ecx
jmp 0x10127e5d
mov ecx, dword [ecx + 0xc]
mov edi, dword [ebp - 0x2f8]
mov esi, dword [ebp - 0x2f4]
mov dword [ebp - 0x34], ecx
cmp edi, 1
jne 0x10127e86
movd xmm0, esi
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
cmp eax, ecx
jl 0x10127e86
inc dword [0x103bdb20]
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.logDamageDealt
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.10019250
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 9
push eax
mov ecx, 0x103bd808
call fcn.10015bb0
mov al, byte [eax]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 0x2ed], al
cmp ecx, 0xf
jbe 0x10127f02
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10127ef2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101285f0
push ecx
push edx
call fcn.101ab3ee
mov al, byte [ebp - 0x2ed]
add esp, 8
test al, al
je 0x101284e3
mov eax, dword [ebp - 0x308]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
imul eax, dword [eax + 0x64], 0x1db4
lea eax, [eax + 0x102dc9e0]
mov dword [ebp - 0x18], eax
cvttss2si eax, xmm0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x308], eax
lea eax, [edi + edi*2]
lea esi, [eax*8 + 0x103bda18]
mov dword [ebp - 0x2f8], esi
push 0x98
lea eax, [ebp - 0xfc]
mov byte [ebp - 4], 0xa
push 0
push eax
call fcn.101ad640
add esp, 8
lea ecx, [ebp - 0xfc]
call fcn.1002c1d0
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x4c]
push esi
push eax
lea ecx, [ebp - 0xfc]
call fcn.1012a090
add esp, 0x10
lea eax, [ebp - 0x64]
lea ecx, [ebp - 0xf8]
push eax
call fcn.1002d270
mov eax, dword [ebp - 0xfc]
mov esi, 0xe
mov dword [ebp - 0x304], esi
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xfc], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x100], eax
lea ecx, [ebp - 0xf8]
call fcn.100163e0
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xfc], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x100], eax
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 0xc
push eax
mov dword [ebp - 0xac], vtable.std::ios_base.0
call fcn.101a9ff7
add esp, 4
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x18], 0
mov byte [ebp - 0x2ed], 1
je 0x1012807d
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.debugLogs
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.10019250
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xd
mov esi, 0xf
mov ecx, 0x103bd808
push eax
mov dword [ebp - 0x304], esi
call fcn.10015bb0
cmp byte [eax], 0
je 0x1012807d
mov byte [ebp - 0x2fd], 1
test edi, edi
jne 0x10128084
mov byte [ebp - 0x2fd], 0
mov dword [ebp - 4], 0xa
mov eax, dword [ebp - 0x304]
test al, 1
je 0x101280d2
mov ecx, dword [ebp - 0x1c]
and eax, 0xfffffffe
mov dword [ebp - 0x304], eax
cmp ecx, 0xf
jbe 0x101280d2
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101280c8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101285f5
push ecx
push edx
call fcn.101ab3ee
add esp, 8
cmp byte [ebp - 0x2fd], 0
je 0x101283f1
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.hit_a_resolved_shot
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.10019250
mov byte [ebp - 4], 0xe
cmp edi, 1
jne 0x1012811b
push 0x1c
push str.hit_a_properly_resolved_shot
lea ecx, [ebp - 0x30]
call fcn.1002d350
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
push 0x98
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0xf
push 0
push eax
call fcn.101ad640
add esp, 8
lea ecx, [ebp - 0x194]
call fcn.1002c1d0
lea eax, [ebp - 0x374]
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x37c], eax
mov ecx, 5
mov dword [ebp - 0x378], 5
lea eax, [ebp - 0x36c]
nop dword [eax + eax]
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x10128170
push dword [ebp - 0x378]
mov dword [ebp - 0x310], 0x1002ffe0
lea eax, [ebp - 0x4c]
push dword [ebp - 0x37c]
mov dword [ebp - 0x314], eax
lea ecx, [ebp - 0x194]
movq xmm0, qword [ebp - 0x314]
mov edx, str._at__s____s_i_L:_i____R:__s_n
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x314], eax
lea eax, [ebp - 0x14]
movq qword [ebp - 0x374], xmm0
mov dword [ebp - 0x310], 0x1002ffe0
movq xmm0, qword [ebp - 0x314]
mov dword [ebp - 0x314], eax
lea eax, [ebp - 0x34]
movq qword [ebp - 0x368], xmm0
mov dword [ebp - 0x310], 0x100301b0
movq xmm0, qword [ebp - 0x314]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x18]
movq qword [ebp - 0x35c], xmm0
add eax, 0x1d50
mov dword [ebp - 0x310], 0x100301b0
movq xmm0, qword [ebp - 0x314]
movq qword [ebp - 0x350], xmm0
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x310], 0x1002ffe0
movq xmm0, qword [ebp - 0x314]
mov dword [ebp - 0x36c], method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_52
mov dword [ebp - 0x360], method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_52
mov dword [ebp - 0x354], 0x100301d0
mov dword [ebp - 0x348], 0x100301d0
movq qword [ebp - 0x344], xmm0
mov dword [ebp - 0x33c], method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_52
call fcn.100259e0
add esp, 8
lea eax, [ebp - 0x338]
lea ecx, [ebp - 0x190]
push eax
call fcn.1002d270
mov eax, dword [ebp - 0x194]
mov esi, dword [ebp - 0x304]
or esi, 0x30
mov dword [ebp - 0x304], esi
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x194]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x198], eax
lea ecx, [ebp - 0x190]
call fcn.100163e0
mov eax, dword [ebp - 0x194]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x194]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x198], eax
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 0x11
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.101a9ff7
add esp, 4
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x324], 0xf
lea eax, [ebp - 0x338]
lea ecx, [ebp - 0x30]
cmova eax, dword [ebp - 0x338]
push dword [ebp - 0x328]
push eax
call fcn.10017390
and esi, 0xffffffef
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x324]
mov dword [ebp - 0x304], esi
cmp ecx, 0xf
jbe 0x1012839a
mov edx, dword [ebp - 0x338]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10128390
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101285fa
push ecx
push edx
call fcn.101ab3ee
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x30]
mov ecx, esp
push eax
call fcn.10016940
push 0xffdcdcdc
call fcn.1002b060
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 0x2ed], 0
cmp ecx, 0xf
jbe 0x101283f1
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101283e7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101285ff
push ecx
push edx
call fcn.101ab3ee
add esp, 8
mov eax, dword [0x102704b0]
lea edx, [ebp - 0x64]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x2fc]
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0x41000000
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.1007c720
add esp, 8
mov edx, eax
mov byte [ebp - 4], 0x12
mov ecx, dword [0x103bc928]
cmp ecx, dword [0x103bc92c]
je 0x1012845a
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx], 0
mov dword [edx + 4], 0
add dword [0x103bc928], 8
jmp 0x10128461
push edx
push ecx
call fcn.1007d300
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0x2f8]
test esi, esi
je 0x10128490
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x10128490
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x10128490
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
cmp byte [ebp - 0x2ed], 0
je 0x101284af
sub esp, 0x18
lea eax, [ebp - 0x64]
mov ecx, esp
push eax
call fcn.10016940
push dword [ebp - 0x18]
call fcn.1002b060
mov ecx, dword [ebp - 0x50]
cmp ecx, 0xf
jbe 0x101284e3
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101284d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10128604
push ecx
push edx
call fcn.101ab3ee
add esp, 8
mov edi, dword [0x103bdb3c]
mov esi, dword [0x103bdb38]
cmp esi, edi
je 0x10128527
nop dword [eax]
nop word [eax + eax]
mov edx, dword [0x103bc9ac]
mov eax, dword [0x103c3e20]
add edx, 0xffffffc6
mov ecx, dword [esi + 0x18]
xor edx, 0xffcb1bd
cmp ecx, dword [edx + eax]
jne 0x10128520
mov byte [esi + 0x1d], 1
add esi, 0x20
cmp esi, edi
jne 0x10128500
mov ecx, dword [0x103bdb30]
xor edx, edx
mov esi, dword [0x103bdb34]
movss xmm1, dword [0x10278040]
add esi, ecx
cmp ecx, esi
je 0x10128597
mov eax, dword [0x103bdb2c]
mov edi, dword [0x103bdb28]
dec eax
mov dword [ebp - 0x308], eax
and eax, ecx
mov eax, dword [edi + eax*4]
cmp byte [eax + 0x49], 0
jne 0x10128584
mov edi, dword [0x103bc78c]
movss xmm0, dword [edi]
subss xmm0, dword [eax + 8]
call fcn.1001cf10
comiss xmm1, xmm0
mov edi, dword [0x103bdb28]
jb 0x10128584
movaps xmm1, xmm0
mov edx, eax
mov eax, dword [ebp - 0x308]
inc ecx
cmp ecx, esi
jne 0x10128555
test edx, edx
je 0x10128597
mov byte [edx + 0x49], 1
mov eax, dword [ebp - 0x38]
cmp eax, 0xf
jbe 0x101285c9
mov edx, dword [ebp - 0x4c]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x101285bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10128609
push ecx
push edx
call fcn.101ab3ee
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101aaebb
mov esp, ebp
pop ebp
ret 4
call fcn.101b237e
call fcn.101b237e
call fcn.101b237e
call fcn.101b237e
call fcn.101b237e
call fcn.101b237e
call fcn.101b237e
call fcn.101b237e
nop
out dx, eax
jne 269649445
adc byte [edx + 0x76], al
adc dl, byte [eax]
or eax, 0x42101276
jbe 269649457
adc dh, bh
jne 0x10128635
adc byte [edx + 0x76], al
adc dl, byte [eax]
jbe 0x1012863d
jbe 0x10128639
adc byte [esi], bh
jbe 0x1012863d
adc byte [edi + 0x77], cl
adc dl, byte [eax]
mov byte [0x6d101277], al
ja 0x10128645
adc byte [ebp + 0x77], ch
adc dl, byte [eax]
mov byte [0x5e101277], al
ja 0x10128649
adc byte [edx + 0x5e101277], ah
ja 0x1012864d
adc byte [esi + 0x77], bl
adc dl, byte [eax]
mov byte [0x9e101277], al
ja 0x10128651
adc byte [edx - 0x61efed89], ah
ja 0x10128659
adc bh, ch
js 0x1012865d
adc byte [eax + 0x79], cl
adc dl, byte [eax]
adc edi, dword [ecx + 0x12]
jns 0x10128661
adc byte [ebx], dl
jns 0x10128665
adc byte [eax + 0x79], cl
adc dl, byte [eax]
invalid
js 0x1012866d
adc byte [eax + 0x79], cl
adc dl, byte [eax]
inc esp
jns 0x10128671
adc byte [ecx + edi*2 + 0x12], al
jns 0x10128675
adc ah, ch
jl 0x10128679
adc byte [edi], ch
jge 0x1012867d
adc byte [esi], al
jge 0x10128681
adc byte [edi], ch
jge 0x10128685
adc cl, bh
jl 0x10128689
adc byte [edi], ch
jge 0x1012868d
adc byte [ebx], ch
jge 0x10128691
adc byte [ebx], dl
jle 0x10128695
adc byte [edx + 0x7e], bl
adc dl, byte [eax]
xor dword [esi + 0x12], edi
jle 0x10128699
adc byte [ecx], dh
jle 0x1012869d
adc byte [edx + 0x7e], bl
adc dl, byte [eax]
and bh, byte [esi + 0x12]
jle 0x101286a1
adc byte [edx], ah
jle 0x101286a5
adc byte [edx + 0x7e], bl
adc dl, byte [eax]
push esi
jle 0x101286a9
adc byte [esi + 0x7e], dl
adc dl, byte [eax]
int3
jle 0x101286ad
adc ah, cl
int3
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
or byte [ebx - 0x3b7c071c], al
add al, 0x55
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101e7773
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x20
mov eax, dword [0x102924c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 8]
test eax, eax
je 0x10128a6c
cmp dword [0x103c3e20], 0
je 0x10128a6c
mov edi, dword [eax + 8]
mov eax, dword [0x103c8cd0]
test al, 1
jne 0x10128746
or eax, 1
mov dword [0x103c8cd0], eax
mov edx, 0x990704d7
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.10074160
push 0xda7d68cb
mov edx, eax
mov ecx, 0x103c8dd8
call fcn.100745a0
add esp, 4
push 0x101ea780
call fcn.101ab3d4
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x103c8dd8]
call eax
mov esi, eax
mov dword [ebp - 0x18], esi
test edi, edi
je 0x101287c0
test esi, esi
je 0x101287c0
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x101287c0
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x101287a9
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10128782
xor edx, edx
test ecx, ecx
je 0x101287a9
nop
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10128790
cmp edi, 0x11ab48ff
je 0x101287bb
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x101287c0
mov esi, dword [ebp - 0x18]
jmp 0x10128764
mov ecx, dword [ebp - 0x1c]
jmp 0x101287c2
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x101287cc.2
jmp dword [eax*4 + 0x10128a8c]
push dword [ecx + 4]
call fcn.101bbcec
add esp, 4
mov edx, eax
jmp 0x10128813
push dword [ecx + 8]
call fcn.101bbcad
add esp, 4
mov edx, eax
jmp 0x10128813
fld dword [ecx + 0xc]
sub esp, 8
fstp qword [esp]
call fcn.101d78f0
fstp dword [ebp - 0x18]
cvttss2si edx, dword [ebp - 0x18]
add esp, 8
jmp 0x10128813
xor edx, edx
jmp 0x10128813
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x103bc730]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x103bc730]
mov esi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
cmp esi, eax
jne 0x10128a6c
mov ecx, dword [0x103bdb30]
xor esi, esi
mov edx, dword [0x103bdb34]
movss xmm1, dword [0x10278040]
add edx, ecx
cmp ecx, edx
je 0x10128a6c
mov eax, dword [0x103bdb2c]
mov edi, dword [0x103bdb28]
dec eax
movss xmm2, dword [0x102785e0]
mov dword [ebp - 0x18], eax
nop
and eax, ecx
mov eax, dword [edi + eax*4]
cmp byte [eax + 0x48], 0
jne 0x1012889d
mov edi, dword [0x103bc78c]
movss xmm0, dword [edi]
subss xmm0, dword [eax + 8]
mov edi, dword [0x103bdb28]
andps xmm0, xmm2
comiss xmm1, xmm0
jb 0x1012889d
movaps xmm1, xmm0
mov esi, eax
mov eax, dword [ebp - 0x18]
inc ecx
cmp ecx, edx
jne 0x10128870
test esi, esi
je 0x10128a6c
mov edi, dword [esi + 4]
mov byte [esi + 0x48], 1
mov ecx, dword [0x103bc730]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
test eax, eax
je 0x10128a2e
cmp dword [0x103c3e20], 0
je 0x10128a2e
cmp dword [edi + 0x1c], 0x10
jg 0x10128a2e
cmp byte [edi + 0x400], 0
je 0x10128a2e
mov ecx, dword [0x103bc730]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x10128a2a
cmp dword [0x103c3e20], 0
je 0x10128a2a
mov ecx, dword [eax]
push 0
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x18], ecx
mov ecx, eax
call dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
fadd dword [0x10277b8c]
push 1
mov eax, dword [ecx]
fstp dword [ebp - 0x20]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x18], eax
call dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x20]
mov ecx, dword [0x103bc7d4]
fstp dword [ebp - 0x18]
addss xmm0, dword [ebp - 0x18]
mov eax, dword [ecx]
addss xmm0, dword [0x103c3e7c]
mov eax, dword [eax + 0x30]
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0x18], xmm0
call eax
movss xmm2, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
xorps xmm0, xmm0
lea ecx, [ebp - 0x20]
comiss xmm0, xmm2
fstp dword [ebp - 0x20]
movss xmm1, dword [ebp - 0x20]
cmovbe ecx, eax
movss dword [ebp - 0x24], xmm1
comiss xmm2, xmm1
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
cmovbe eax, ecx
mov ecx, dword [0x103c3e20]
movss xmm3, dword [eax]
test ecx, ecx
je 0x101289df
mov eax, dword [0x103bc984]
add eax, 0xffffffd0
xor eax, 0xffcb1b3
cmp dword [eax + ecx], 0
jne 0x101289df
mov eax, dword [0x103bc9ac]
add eax, 0xffffffc6
xor eax, 0xffcb1bd
movd xmm0, dword [eax + ecx]
mov eax, dword [0x103bc78c]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x20]
jmp 0x101289e9
mov eax, dword [0x103bc78c]
movss xmm0, dword [eax + 0x10]
movss xmm2, dword [eax + 0x20]
movaps xmm1, xmm2
maxss xmm1, dword [edi + 0x2c]
divss xmm1, xmm2
addss xmm1, dword [0x10277c5c]
cvttss2si eax, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mulss xmm1, xmm2
subss xmm0, xmm1
subss xmm3, xmm0
movaps xmm0, xmm3
call fcn.1001cf10
comiss xmm0, dword [0x10277c18]
ja 0x10128a2e
mov al, 1
jmp 0x10128a30
xor al, al
mov byte [esi + 0x4b], al
mov eax, dword [0x103c3e48]
test eax, eax
je 0x10128a45
mov eax, dword [eax + 0x104]
mov dword [esi + 0x14], eax
movss xmm0, dword [0x103c3e2c]
movss dword [esi + 0x18], xmm0
movss xmm0, dword [0x103c3e30]
movss dword [esi + 0x1c], xmm0
movss xmm0, dword [0x103c3e34]
movss dword [esi + 0x20], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101aaebb
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4