Function at 0x7ff77f2ec740
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xb0
xor ecx, ecx
call qword [sym.imp.ucrtbase.dll__time64]
mov rcx, rax
call qword [sym.imp.ucrtbase.dll_srand]
call fcn.7ff77f2efe50
test al, al
jne 0x7ff77f2ec776
mov eax, 1
add rsp, 0xb0
pop rbp
ret
mov rax, qword gs:[0x60]
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0xd0], rdi
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x98], r14
mov qword [rsp + 0x90], r15
mov rax, qword [rax + 0x10]
nop
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ec839
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ec839
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x2cb322ee
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x7ff77f2ec834
nop
movsx edx, cl
lea r9, [r9 + 1]
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
movzx ecx, byte [r9 - 1]
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
test cl, cl
jne 0x7ff77f2ec800
cmp r10d, 0xd77e7313
je 0x7ff77f2ec841
test r11d, r11d
jne 0x7ff77f2ec7e0
mov rax, qword [rax]
jmp 0x7ff77f2ec7b0
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
add rax, rbx
call rax
mov qword [0x7ff77f37c020], rax
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x7ff77f2ee2e9
mov ecx, dword [0x7ff77f36fcc0]
movzx eax, byte [0x7ff77f36fcc6]
movups xmm0, xmmword [0x7ff77f36fcb0]
mov dword [rbp - 9], ecx
movzx ecx, word [0x7ff77f36fcc4]
movups xmmword [rbp - 0x19], xmm0
mov word [rbp - 5], cx
mov byte [rbp - 3], al
mov rax, qword gs:[0x60]
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0xa0], r13
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ec94a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ec94a
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x742e1d4
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ec945
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ec910
cmp r10d, 0x18e61478
je 0x7ff77f2ec952
test r11d, r11d
jne 0x7ff77f2ec8f0
mov rax, qword [rax]
jmp 0x7ff77f2ec8c0
mov ecx, dword [r14 + 0x24]
xor r12d, r12d
mov r13d, dword [0x7ff77f37b090]
add rcx, rbx
movaps xmmword [rsp + 0x80], xmm6
mov r8d, r12d
movaps xmmword [rsp + 0x70], xmm7
lea eax, [r12 + 5]
movaps xmmword [rsp + 0x60], xmm8
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov r10d, dword [rcx + rdx*4]
lea ecx, [rax + 0x1a]
add r10, rbx
cmp r13d, 2
jl 0x7ff77f2ecaed
movdqa xmm0, xmmword [0x7ff77f36fd60]
movdqa xmm5, xmmword [0x7ff77f36fcf0]
movdqa xmm4, xmmword [0x7ff77f36fdc0]
movdqa xmm7, xmmword [0x7ff77f36fd30]
movdqa xmmword [rbp - 0x29], xmm0
mov edx, dword [rbp - 0x29]
movd xmm8, ecx
lea rcx, [rbp - 0x15]
movd xmm6, eax
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x7ff77f36fd40]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x7ff77f36fd40]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x7ff77f2ec9e0
cmp r8d, 0x17
jge 0x7ff77f2ecb34
movsxd rax, r8d
lea r9, [rbp - 0x19]
add r9, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x17
jl 0x7ff77f2ecb00
mov rcx, qword [0x7ff77f48f390]
lea rdx, [rbp - 0x19]
call r10
test rax, rax
je 0x7ff77f2ee2df
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 0x11]
call rax
test eax, eax
js 0x7ff77f2ee2df
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ecc0a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ecc0a
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x671fb58e
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ecc05
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ecbd0
cmp r10d, 0x4597466e
je 0x7ff77f2ecc12
test r11d, r11d
jne 0x7ff77f2ecbb0
mov rax, qword [rax]
jmp 0x7ff77f2ecb80
mov ecx, dword [r14 + 0x24]
lea r8, [0x7ff77f2f0220]
add rcx, rbx
mov qword [rsp + 0x28], r12
mov r9d, 0x539
mov dword [rsp + 0x20], r12d
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, rbx
xor ecx, ecx
call rax
mov qword [0x7ff77f37c030], rax
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x7ff77f2ee2d5
mov ecx, dword [0x7ff77f36fcc0]
movzx eax, byte [0x7ff77f36fcc6]
movups xmm0, xmmword [0x7ff77f36fcb0]
mov dword [rbp - 9], ecx
movzx ecx, word [0x7ff77f36fcc4]
movups xmmword [rbp - 0x19], xmm0
mov word [rbp - 5], cx
mov byte [rbp - 3], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ecd2a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ecd2a
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x742e1d4
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ecd25
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2eccf0
cmp r10d, 0x18e61478
je 0x7ff77f2ecd32
test r11d, r11d
jne 0x7ff77f2eccd0
mov rax, qword [rax]
jmp 0x7ff77f2ecca0
mov ecx, dword [r14 + 0x24]
mov r8d, r12d
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov r10d, dword [rcx + rdx*4]
add r10, rbx
cmp r13d, 2
jl 0x7ff77f2ecead
movdqa xmm0, xmmword [0x7ff77f36fd60]
lea rcx, [rbp - 0x15]
movdqa xmm5, xmmword [0x7ff77f36fcf0]
mov eax, 5
movdqa xmm4, xmmword [0x7ff77f36fdc0]
movdqa xmm7, xmmword [0x7ff77f36fd30]
movdqa xmmword [rbp - 0x29], xmm0
mov edx, dword [rbp - 0x29]
movd xmm6, eax
mov eax, 0x1f
movd xmm8, eax
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x7ff77f36fd40]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x7ff77f36fd40]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x7ff77f2ecda0
cmp r8d, 0x17
jge 0x7ff77f2ecef4
movsxd rax, r8d
lea r9, [rbp - 0x19]
add r9, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x17
jl 0x7ff77f2ecec0
mov rcx, qword [0x7ff77f48f390]
lea rdx, [rbp - 0x19]
call r10
test rax, rax
je 0x7ff77f2ee2cb
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 0x11]
call rax
test eax, eax
js 0x7ff77f2ee2cb
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ecfca
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ecfca
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x7fec0535
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ecfc5
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ecf90
cmp r10d, 0xf8252818
je 0x7ff77f2ecfd2
test r11d, r11d
jne 0x7ff77f2ecf70
mov rax, qword [rax]
jmp 0x7ff77f2ecf40
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
mov ecx, 0x64
add rax, rbx
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ed09a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ed09a
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0xe010e008
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ed095
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ed060
cmp r10d, 0x9d04b394
je 0x7ff77f2ed0a2
test r11d, r11d
jne 0x7ff77f2ed040
mov rax, qword [rax]
jmp 0x7ff77f2ed010
mov ecx, dword [r14 + 0x24]
lea r8, [0x7ff77f2ef0c0]
add rcx, rbx
mov qword [rsp + 0x28], r12
mov r9d, 0x539
mov dword [rsp + 0x20], r12d
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, rbx
xor ecx, ecx
call rax
mov qword [0x7ff77f37c008], rax
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x7ff77f2ee2c1
mov ecx, dword [0x7ff77f36fcc0]
movzx eax, byte [0x7ff77f36fcc6]
movups xmm0, xmmword [0x7ff77f36fcb0]
mov dword [rbp - 9], ecx
movzx ecx, word [0x7ff77f36fcc4]
movups xmmword [rbp - 0x19], xmm0
mov word [rbp - 5], cx
mov byte [rbp - 3], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ed1ba
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ed1ba
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x742e1d4
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ed1b5
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ed180
cmp r10d, 0x18e61478
je 0x7ff77f2ed1c2
test r11d, r11d
jne 0x7ff77f2ed160
mov rax, qword [rax]
jmp 0x7ff77f2ed130
mov ecx, dword [r14 + 0x24]
mov r8d, r12d
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov r10d, dword [rcx + rdx*4]
add r10, rbx
cmp r13d, 2
jl 0x7ff77f2ed33d
movdqa xmm0, xmmword [0x7ff77f36fd60]
lea rcx, [rbp - 0x15]
movdqa xmm5, xmmword [0x7ff77f36fcf0]
mov eax, 5
movdqa xmm4, xmmword [0x7ff77f36fdc0]
movdqa xmm7, xmmword [0x7ff77f36fd30]
movdqa xmmword [rbp - 0x29], xmm0
mov edx, dword [rbp - 0x29]
movd xmm6, eax
mov eax, 0x1f
movd xmm8, eax
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x7ff77f36fd40]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x7ff77f36fd40]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x7ff77f2ed230
cmp r8d, 0x17
jge 0x7ff77f2ed384
movsxd rax, r8d
lea r9, [rbp - 0x19]
add r9, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x17
jl 0x7ff77f2ed350
mov rcx, qword [0x7ff77f48f390]
lea rdx, [rbp - 0x19]
call r10
test rax, rax
je 0x7ff77f2ee2b7
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 0x11]
call rax
test eax, eax
js 0x7ff77f2ee2b7
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ed45a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ed45a
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x47ff097b
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ed455
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ed420
cmp r10d, 0x91cc867e
je 0x7ff77f2ed462
test r11d, r11d
jne 0x7ff77f2ed400
mov rax, qword [rax]
jmp 0x7ff77f2ed3d0
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
mov ecx, 0x64
add rax, rbx
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ed52a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ed52a
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x46575cc2
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ed525
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ed4f0
cmp r10d, 0x2830b872
je 0x7ff77f2ed532
test r11d, r11d
jne 0x7ff77f2ed4d0
mov rax, qword [rax]
jmp 0x7ff77f2ed4a0
mov ecx, dword [r14 + 0x24]
lea r8, [0x7ff77f2ef4b0]
add rcx, rbx
mov qword [rsp + 0x28], r12
mov r9d, 0x539
mov dword [rsp + 0x20], r12d
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, rbx
xor ecx, ecx
call rax
mov qword [0x7ff77f37c028], rax
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x7ff77f2ee2b0
mov ecx, dword [0x7ff77f36fcc0]
movzx eax, byte [0x7ff77f36fcc6]
movups xmm0, xmmword [0x7ff77f36fcb0]
mov dword [rbp - 9], ecx
movzx ecx, word [0x7ff77f36fcc4]
movups xmmword [rbp - 0x19], xmm0
mov word [rbp - 5], cx
mov byte [rbp - 3], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ed64a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ed64a
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x742e1d4
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ed645
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ed610
cmp r10d, 0x18e61478
je 0x7ff77f2ed652
test r11d, r11d
jne 0x7ff77f2ed5f0
mov rax, qword [rax]
jmp 0x7ff77f2ed5c0
mov ecx, dword [r14 + 0x24]
mov r8d, r12d
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov r10d, dword [rcx + rdx*4]
add r10, rbx
cmp r13d, 2
jl 0x7ff77f2ed7cd
movdqa xmm0, xmmword [0x7ff77f36fd60]
lea rcx, [rbp - 0x15]
movdqa xmm5, xmmword [0x7ff77f36fcf0]
mov eax, 5
movdqa xmm4, xmmword [0x7ff77f36fdc0]
movdqa xmm7, xmmword [0x7ff77f36fd30]
movdqa xmmword [rbp - 0x29], xmm0
mov edx, dword [rbp - 0x29]
movd xmm6, eax
mov eax, 0x1f
movd xmm8, eax
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x7ff77f36fd40]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x7ff77f36fd40]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x7ff77f2ed6c0
cmp r8d, 0x17
jge 0x7ff77f2ed814
movsxd rax, r8d
lea r9, [rbp - 0x19]
add r9, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x17
jl 0x7ff77f2ed7e0
mov rcx, qword [0x7ff77f48f390]
lea rdx, [rbp - 0x19]
call r10
test rax, rax
je 0x7ff77f2ee2a9
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 0x11]
call rax
test eax, eax
js 0x7ff77f2ee2a9
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ed8ea
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ed8ea
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x761f2385
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ed8e5
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ed8b0
cmp r10d, 0xe995fac8
je 0x7ff77f2ed8f2
test r11d, r11d
jne 0x7ff77f2ed890
mov rax, qword [rax]
jmp 0x7ff77f2ed860
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
mov ecx, 0x64
add rax, rbx
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ed9ba
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ed9ba
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x44dcc9e9
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ed9b5
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ed980
cmp r10d, 0xe89b214d
je 0x7ff77f2ed9c2
test r11d, r11d
jne 0x7ff77f2ed960
mov rax, qword [rax]
jmp 0x7ff77f2ed930
mov ecx, dword [r14 + 0x24]
lea r8, [0x7ff77f2ef940]
add rcx, rbx
mov qword [rsp + 0x28], r12
mov r9d, 0x539
mov dword [rsp + 0x20], r12d
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, rbx
xor ecx, ecx
call rax
mov qword [0x7ff77f37c018], rax
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x7ff77f2ee2a2
mov ecx, dword [0x7ff77f36fcc0]
movzx eax, byte [0x7ff77f36fcc6]
movups xmm0, xmmword [0x7ff77f36fcb0]
mov dword [rbp - 9], ecx
movzx ecx, word [0x7ff77f36fcc4]
movups xmmword [rbp - 0x19], xmm0
mov word [rbp - 5], cx
mov byte [rbp - 3], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2edada
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2edada
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x742e1d4
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2edad5
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2edaa0
cmp r10d, 0x18e61478
je 0x7ff77f2edae2
test r11d, r11d
jne 0x7ff77f2eda80
mov rax, qword [rax]
jmp 0x7ff77f2eda50
mov ecx, dword [r14 + 0x24]
mov r8d, r12d
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov r10d, dword [rcx + rdx*4]
add r10, rbx
cmp r13d, 2
jl 0x7ff77f2edc5d
movdqa xmm0, xmmword [0x7ff77f36fd60]
lea rcx, [rbp - 0x15]
movdqa xmm5, xmmword [0x7ff77f36fcf0]
mov eax, 5
movdqa xmm4, xmmword [0x7ff77f36fdc0]
movdqa xmm7, xmmword [0x7ff77f36fd30]
movdqa xmmword [rbp - 0x29], xmm0
mov edx, dword [rbp - 0x29]
movd xmm6, eax
mov eax, 0x1f
movd xmm8, eax
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x7ff77f36fd40]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x7ff77f36fd40]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x7ff77f2edb50
cmp r8d, 0x17
jge 0x7ff77f2edca4
movsxd rax, r8d
lea r9, [rbp - 0x19]
add r9, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x17
jl 0x7ff77f2edc70
mov rcx, qword [0x7ff77f48f390]
lea rdx, [rbp - 0x19]
call r10
test rax, rax
je 0x7ff77f2ee29b
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 0x11]
call rax
test eax, eax
js 0x7ff77f2ee29b
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2edd7e
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2edd7e
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x4d980d0b
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2edd79
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2edd40
cmp r10d, 0xd7f906ae
je 0x7ff77f2edd86
test r11d, r11d
jne 0x7ff77f2edd20
mov rax, qword [rax]
jmp 0x7ff77f2edcf0
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
mov ecx, 0x64
add rax, rbx
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ede4e
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ede4e
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x6eaf58d1
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ede49
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ede10
cmp r10d, 0xad7bf825
je 0x7ff77f2ede56
test r11d, r11d
jne 0x7ff77f2eddf0
mov rax, qword [rax]
jmp 0x7ff77f2eddc0
mov ecx, dword [r14 + 0x24]
lea r8, [0x7ff77f2efc40]
add rcx, rbx
mov qword [rsp + 0x28], r12
mov r9d, 0x539
mov dword [rsp + 0x20], r12d
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, rbx
xor ecx, ecx
call rax
mov qword [0x7ff77f37c010], rax
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x7ff77f2ee294
mov ecx, dword [0x7ff77f36fcc0]
movzx eax, byte [0x7ff77f36fcc6]
movups xmm0, xmmword [0x7ff77f36fcb0]
mov dword [rbp - 9], ecx
movzx ecx, word [0x7ff77f36fcc4]
movups xmmword [rbp - 0x19], xmm0
mov word [rbp - 5], cx
mov byte [rbp - 3], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2edf6e
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2edf6e
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x742e1d4
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2edf69
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2edf30
cmp r10d, 0x18e61478
je 0x7ff77f2edf76
test r11d, r11d
jne 0x7ff77f2edf10
mov rax, qword [rax]
jmp 0x7ff77f2edee0
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov r9d, dword [rcx + rdx*4]
add r9, rbx
cmp r13d, 2
jl 0x7ff77f2ee0f0
movdqa xmm0, xmmword [0x7ff77f36fd60]
lea rcx, [rbp - 0x15]
movdqa xmm5, xmmword [0x7ff77f36fcf0]
mov eax, 5
movdqa xmm4, xmmword [0x7ff77f36fdc0]
movdqa xmm7, xmmword [0x7ff77f36fd30]
movdqa xmmword [rbp - 0x29], xmm0
mov edx, dword [rbp - 0x29]
movd xmm6, eax
mov eax, 0x1f
movd xmm8, eax
nop dword [rax]
movd xmm2, r12d
lea eax, [r12 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r12d, 8
pmuldq xmm1, xmm4
mov eax, r12d
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x7ff77f36fd40]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x7ff77f36fd40]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r12d, 0x10
jl 0x7ff77f2edfe0
cmp eax, 0x17
jge 0x7ff77f2ee134
movsxd rax, r12d
lea r8, [rbp - 0x19]
add r8, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
lea r8, [r8 + 1]
imul r12d
add edx, r12d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r12b
inc r12d
sub al, cl
add al, 0x35
xor byte [r8 - 1], al
cmp r12d, 0x17
jl 0x7ff77f2ee100
mov rcx, qword [0x7ff77f48f390]
lea rdx, [rbp - 0x19]
call r9
test rax, rax
je 0x7ff77f2ee28d
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 0x11]
call rax
test eax, eax
js 0x7ff77f2ee28d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2ee20e
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2ee20e
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0x1d8d3607
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2ee209
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff77f2ee1d0
cmp r10d, 0xa78c3cca
je 0x7ff77f2ee216
test r11d, r11d
jne 0x7ff77f2ee1b0
mov rax, qword [rax]
jmp 0x7ff77f2ee180
mov edx, dword [r14 + 0x24]
mov ecx, 0x64
add rdx, rbx
movzx r8d, word [rdx + r11*2]
mov edx, dword [r14 + 0x1c]
add rdx, rbx
mov eax, dword [rdx + r8*4]
add rax, rbx
call rax
xor eax, eax
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x60]
mov r13, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xc0]
mov r15, qword [rsp + 0x90]
add rsp, 0xb0
pop rbp
ret
mov eax, 0xc
jmp 0x7ff77f2ee239
mov eax, 0xb
jmp 0x7ff77f2ee239
mov eax, 0xa
jmp 0x7ff77f2ee239
mov eax, 9
jmp 0x7ff77f2ee239
mov eax, 8
jmp 0x7ff77f2ee239
mov eax, 7
jmp 0x7ff77f2ee239
mov eax, 6
jmp 0x7ff77f2ee239
mov eax, 5
jmp 0x7ff77f2ee239
mov eax, 4
jmp 0x7ff77f2ee239
mov eax, 3
jmp 0x7ff77f2ee239
mov eax, 2
jmp 0x7ff77f2ee239
mov eax, 0xd
jmp 0x7ff77f2ee25c