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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a2d19
mov eax, dword fs:[0]
push eax
sub esp, 0x254
mov eax, dword [0x100ba364]
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 - 0x248], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov dword [ebp - 4], 0
test eax, eax
je 0x1007ae75
cmp dword [0x100f3374], 0
je 0x1007ae75
mov ebx, dword [eax + 8]
mov eax, dword [0x100f8570]
test al, 1
jne 0x1007a45f
or eax, 1
mov dword [0x100f8570], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x254]
call fcn.1003f240
push 0xda7d68cb
mov edx, eax
mov ecx, 0x100f8574
call fcn.1003f640
push 0x100a4a70
call fcn.1009961c
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x100f8574]
call eax
mov ecx, eax
mov dword [ebp - 0x23c], ecx
test ebx, ebx
je 0x1007a4d8
test ecx, ecx
je 0x1007a4d8
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x1007a4d8
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 0x1007a4c9
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1007a4a0
xor edx, edx
test ecx, ecx
je 0x1007a4c9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1007a4b0
cmp edi, 0xd791104e
je 0x1007a4da
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1007a4d8
mov ecx, dword [ebp - 0x23c]
jmp 0x1007a480
xor ebx, ebx
movsx eax, byte [ebx + 0x10]
dec eax
cmp eax, 6
ja case.0x1007a4e4.2
jmp dword [eax*4 + 0x1007ae94]
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 0x1007a522
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 0x1007a522
movss xmm0, dword [ebx + 0xc]
call fcn.1003eb50
cvttss2si edx, xmm0
jmp 0x1007a522
xor edx, edx
jmp 0x1007a522
mov edx, dword [ebx + 0xc]
mov ecx, dword [0x100ee314]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ebx, dword [ebp - 0x248]
mov ecx, dword [0x100f8570]
mov dword [ebp - 0x238], eax
mov ebx, dword [ebx + 8]
test cl, 1
jne 0x1007a589
or ecx, 1
mov dword [0x100f8570], ecx
mov edx, 0x990704d7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x254]
call fcn.1003f240
push 0xda7d68cb
mov edx, eax
mov ecx, 0x100f8574
call fcn.1003f640
push 0x100a4a70
call fcn.1009961c
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x100f8574]
call eax
mov ecx, eax
mov dword [ebp - 0x23c], ecx
test ebx, ebx
je 0x1007a5f8
test ecx, ecx
je 0x1007a5f8
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x1007a5f8
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 0x1007a5e9
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1007a5c3
xor edx, edx
test ecx, ecx
je 0x1007a5e9
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1007a5d0
cmp edi, 0x11ab48ff
je 0x1007a5fa
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1007a5f8
mov ecx, dword [ebp - 0x23c]
jmp 0x1007a5a7
xor ebx, ebx
movsx eax, byte [ebx + 0x10]
dec eax
cmp eax, 6
ja case.0x1007a604.2
jmp dword [eax*4 + 0x1007aeb0]
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 0x1007a642
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 0x1007a642
movss xmm0, dword [ebx + 0xc]
call fcn.1003eb50
cvttss2si edx, xmm0
jmp 0x1007a642
xor edx, edx
jmp 0x1007a642
mov edx, dword [ebx + 0xc]
mov ecx, dword [0x100ee314]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov esi, dword [ebp - 0x238]
mov ebx, eax
mov dword [ebp - 0x244], ebx
lea ecx, [esi - 1]
cmp ecx, 0x3f
ja 0x1007ae3f
lea ecx, [ebx - 1]
cmp ecx, 0x3f
ja 0x1007ae3f
mov ecx, dword [0x100ee314]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp esi, eax
jne 0x1007ae3f
mov ecx, dword [0x100ee314]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp ebx, eax
je 0x1007ae3f
mov eax, dword [ebp - 0x248]
mov ebx, dword [eax + 8]
mov eax, dword [0x100f8570]
test al, 1
jne 0x1007a6f0
or eax, 1
mov dword [0x100f8570], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x254]
call fcn.1003f240
push 0xda7d68cb
mov edx, eax
mov ecx, 0x100f8574
call fcn.1003f640
push 0x100a4a70
call fcn.1009961c
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x100f8574]
call eax
mov ecx, eax
mov dword [ebp - 0x23c], ecx
test ebx, ebx
je 0x1007a768
test ecx, ecx
je 0x1007a768
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x1007a768
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 0x1007a759
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1007a730
xor edx, edx
test ecx, ecx
je 0x1007a759
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1007a740
cmp edi, 0x2a7e565d
je 0x1007a76a
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1007a768
mov ecx, dword [ebp - 0x23c]
jmp 0x1007a710
xor ebx, ebx
movsx eax, byte [ebx + 0x10]
dec eax
cmp eax, 6
ja case.0x1007a774.2
jmp dword [eax*4 + 0x1007aecc]
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 0x1007a7b8
push dword [ebx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov dword [ebp - 0x238], eax
mov ebx, eax
jmp 0x1007a7be
movss xmm0, dword [ebx + 0xc]
call fcn.1003eb50
cvttss2si ebx, xmm0
jmp 0x1007a7b8
xor ebx, ebx
jmp 0x1007a7b8
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x238], ebx
cmp byte [0x100eae38], 0
je 0x1007a819
mov eax, dword [0x100ee370]
mov ecx, dword [0x100ee368]
mov dword [0x100f32d4], 0x3f800000
push ecx
movss xmm0, dword [eax + 0x10]
movss dword [0x100f32cc], xmm0
addss xmm0, dword [0x100ae800]
mov dword [esp], 0
push 0
push 0x64
push ecx
movss dword [0x100f32d0], xmm0
mov eax, dword [ecx]
mov dword [esp], 0x3f800000
push str.buttons_arena_switch_press_02.wav
mov eax, dword [eax + 0x30]
call eax
cmp ebx, 0xa
je 0x1007ae3f
mov ecx, dword [0x100ee318]
mov esi, dword [ebp - 0x244]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x1007ae3f
mov ecx, dword [0x100ee314]
lea edx, [ebp - 0x234]
push edx
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x1007ae3f
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x260], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007a880
sub ecx, edx
lea eax, [ebp - 0x224]
push ecx
push eax
lea ecx, [ebp - 0x260]
call fcn.10020270
push 0x18
push 0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x260]
call fcn.1003ea90
push eax
lea ecx, [ebp - 0x44]
call fcn.10037900
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x1007a8f2
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007a8e8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1007a8e8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10099636
add esp, 8
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
cmp edx, 0x10
jb 0x1007a944
mov ecx, dword [ebp - 0x260]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007a93a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1007a93a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10099636
add esp, 8
mov eax, dword [ebp - 0x248]
mov ebx, dword [eax + 8]
mov eax, dword [0x100f8570]
test al, 1
jne 0x1007a994
or eax, 1
mov dword [0x100f8570], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x254]
call fcn.1003f240
push 0xda7d68cb
mov edx, eax
mov ecx, 0x100f8574
call fcn.1003f640
push 0x100a4a70
call fcn.1009961c
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x100f8574]
call eax
mov ecx, eax
mov dword [ebp - 0x244], ecx
test ebx, ebx
je 0x1007aa08
test ecx, ecx
je 0x1007aa08
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x1007aa08
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 0x1007a9f9
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1007a9d0
xor edx, edx
test ecx, ecx
je 0x1007a9f9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1007a9e0
cmp edi, 0xa0d9523e
je 0x1007aa0a
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1007aa08
mov ecx, dword [ebp - 0x244]
jmp 0x1007a9b2
xor ebx, ebx
movsx eax, byte [ebx + 0x10]
dec eax
cmp eax, 6
ja case.0x1007aa14.2
jmp dword [eax*4 + 0x1007aee8]
push dword [ebx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
jmp 0x1007aa4e
push dword [ebx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
jmp 0x1007aa4e
movss xmm0, dword [ebx + 0xc]
call fcn.1003eb50
cvttss2si eax, xmm0
jmp 0x1007aa4e
xor eax, eax
jmp 0x1007aa4e
mov eax, dword [ebx + 0xc]
movd xmm0, eax
mov eax, dword [ebp - 0x248]
cvtdq2ps xmm0, xmm0
mov ebx, dword [eax + 8]
mov eax, dword [0x100f8570]
movss dword [ebp - 0x23c], xmm0
test al, 1
jne 0x1007aaad
or eax, 1
mov dword [0x100f8570], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x254]
call fcn.1003f240
push 0xda7d68cb
mov edx, eax
mov ecx, 0x100f8574
call fcn.1003f640
push 0x100a4a70
call fcn.1009961c
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x100f8574]
call eax
mov ecx, eax
mov dword [ebp - 0x244], ecx
test ebx, ebx
je 0x1007ab28
test ecx, ecx
je 0x1007ab28
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x1007ab28
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 0x1007ab19
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1007aaf0
xor edx, edx
test ecx, ecx
je 0x1007ab19
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1007ab00
cmp edi, 0x6b98ed8f
je 0x1007ab2a
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x1007ab28
mov ecx, dword [ebp - 0x244]
jmp 0x1007aad0
xor ebx, ebx
movsx eax, byte [ebx + 0x10]
dec eax
cmp eax, 6
ja case.0x1007ab34.2
jmp dword [eax*4 + 0x1007af04]
push dword [ebx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov ecx, eax
jmp 0x1007ab72
push dword [ebx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov ecx, eax
jmp 0x1007ab72
movss xmm0, dword [ebx + 0xc]
call fcn.1003eb50
cvttss2si ecx, xmm0
jmp 0x1007ab72
xor ecx, ecx
jmp 0x1007ab72
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x238]
movss xmm0, dword [ebp - 0x23c]
mov dword [ebp - 0x14], ecx
cmp edx, 1
jne 0x1007ab96
cvttss2si eax, xmm0
cmp eax, ecx
jl 0x1007ab96
inc dword [0x100ecbf0]
mov eax, dword [0x100eaad0]
mov ecx, dword [0x100eaad4]
cmp eax, ecx
je 0x1007ad96
nop dword [eax]
cmp dword [eax], 1
je 0x1007abbc
add eax, 4
cmp eax, ecx
jne 0x1007abb0
cmp eax, ecx
je 0x1007ad96
cvttss2si eax, xmm0
push 0x98
push 0
mov dword [ebp - 0x244], eax
lea eax, [edx + edx*2]
lea esi, [eax*8 + 0x100ecae8]
lea eax, [ebp - 0xdc]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 4
lea ecx, [ebp - 0xdc]
call fcn.10026030
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x44]
push esi
push eax
lea ecx, [ebp - 0xdc]
call fcn.1007c1b0
add esp, 0x10
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0xd8]
push eax
call fcn.100261b0
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xdc], 0x100a99ac
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xe0], eax
lea ecx, [ebp - 0xd8]
call fcn.1001fea0
lea ecx, [ebp - 0xd4]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x8c]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov byte [ebp - 4], 8
mov esi, dword [0x100a9550]
push 0x2c
call fcn.10099119
mov edi, eax
add esp, 4
mov dword [ebp - 0x23c], edi
mov byte [ebp - 4], 9
lea eax, [ebp - 0x2c]
lea ebx, [edi + 0xc]
mov dword [edi + 4], 1
push eax
mov ecx, ebx
mov dword [edi + 8], 1
mov dword [edi], 0x100a98c4
call fcn.10025f60
xorps xmm0, xmm0
mov dword [ebx + 0x18], esi
movlpd qword [ebp - 0x240], xmm0
mov dword [ebx + 0x1c], 0x41000000
mov dword [ebp - 0x240], ebx
mov dword [ebp - 0x23c], edi
mov byte [ebp - 4], 0xa
mov ecx, dword [0x100ee514]
cmp dword [0x100ee518], ecx
setne al
test al, al
je 0x1007ad05
mov dword [ecx + 4], 0
xor esi, esi
mov dword [ecx], ebx
mov dword [ecx + 4], edi
add dword [0x100ee514], 8
jmp 0x1007ad18
lea eax, [ebp - 0x240]
push eax
push ecx
call fcn.100263a0
mov esi, dword [ebp - 0x23c]
mov byte [ebp - 4], 0xb
test esi, esi
je 0x1007ad41
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x1007ad41
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x1007ad41
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x18
mov byte [ebp - 4], 8
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.10025f60
push 0x100f3370
call fcn.10030aa0
mov edx, dword [ebp - 0x18]
add esp, 0x1c
cmp edx, 0x10
jb 0x1007ad96
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007ad8c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1007ad8c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10099636
add esp, 8
mov esi, dword [0x100ecc08]
mov edi, dword [0x100ecc0c]
cmp esi, edi
je 0x1007add7
nop word [eax + eax]
mov edx, dword [0x100ee074]
mov eax, dword [0x100f3374]
add edx, 0xffffffb8
mov ecx, dword [esi + 0x18]
xor edx, 0x44153eb7
cmp ecx, dword [edx + eax]
jne 0x1007add0
mov byte [esi + 0x1d], 1
add esi, 0x20
cmp esi, edi
jne 0x1007adb0
mov ecx, dword [0x100ecc00]
xor edx, edx
mov esi, dword [0x100ecc04]
movss xmm1, dword [0x100aea08]
add esi, ecx
cmp ecx, esi
je 0x1007ae3f
mov edi, dword [0x100ecbfc]
mov ebx, dword [0x100ecbf8]
nop
lea eax, [edi - 1]
and eax, ecx
mov eax, dword [ebx + eax*4]
cmp byte [eax + 0x49], 0
jne 0x1007ae32
mov ebx, dword [0x100ee370]
movss xmm0, dword [ebx]
subss xmm0, dword [eax + 8]
call fcn.100229a0
comiss xmm1, xmm0
mov ebx, dword [0x100ecbf8]
jb 0x1007ae32
movaps xmm1, xmm0
mov edx, eax
inc ecx
cmp ecx, esi
jne 0x1007ae00
test edx, edx
je 0x1007ae3f
mov byte [edx + 0x49], 1
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x1007ae75
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007ae6b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1007ae6b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10099636
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.100990c9
mov esp, ebp
pop ebp
ret 4