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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x258]
sub rsp, 0x358
mov rdi, rcx
movabs rax, 0x38cc65d113fc5965
mov qword [rbp - 0x70], rax
movabs rcx, 0x4d822a44244df00e
mov qword [rbp - 0x68], rcx
movabs rax, 0x389065ee13c35939
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rcx
movdqa xmm0, xmmword [rbp - 0x70]
pxor xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
xor edx, edx
mov r8d, 0x20a
lea rcx, [rbp + 0x30]
call fcn.7ff70b54e850
lea rax, [rbp + 0x30]
mov qword [rbp + 0x240], rax
lea rax, [rbp - 0x80]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x7ff70b50c640
add rbx, rbx
mov r8, rbx
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x30]
call fcn.7ff70b54e1a0
mov rcx, qword [rbp + 0x240]
add rcx, rbx
mov qword [rbp + 0x240], rcx
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [rdi + rbx*2], 0
jne 0x7ff70b50c675
add rbx, rbx
mov r8, rbx
mov rdx, rdi
call fcn.7ff70b54e1a0
add qword [rbp + 0x240], rbx
xor r15d, r15d
mov dword [rbp + 0x2b8], r15d
mov dword [rbp + 0x2a0], 0xe049c205
nop dword [rax + rax]
mov qword [rsp + 0x60], r15
lea rcx, [rbp + 0x30]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x7ff70b50c6c0
add ax, ax
mov word [rbp - 0x6e], ax
mov word [rbp - 0x70], ax
lea rax, [rbp + 0x30]
mov qword [rbp - 0x68], rax
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x60], xmm0
mov dword [rbp - 0x50], 0x30
mov qword [rbp - 0x48], r15
lea rax, [rbp - 0x60]
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x38], 0x40
xorps xmm2, xmm2
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rbp - 0x10], xmm1
movups xmmword [rbp], xmm2
mov qword [rbp - 0x80], r15
mov r12d, r15d
mov r14d, 0x6f2df779
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x68], xmm0
movd ecx, xmm0
sub cx, 8
test r12d, r12d
je 0x7ff70b50c7a3
mov r9, qword [rsp + 0x70]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x7ff70b50c79a
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x7ff70b50c770
cmp r10d, r12d
jne 0x7ff70b50c8ea
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b50c8f7
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov esi, edx
add rsi, rbx
cmp rsi, rbx
je 0x7ff70b50c8ea
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff70b50c8ea
mov r15d, dword [rsi + 0x20]
dec r11d
lea rcx, [r15 + r11*4]
mov r8d, dword [rcx + rbx]
add r8, rbx
mov r10d, 0x811c9dc5
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x7ff70b50c82d
movsx ecx, r9b
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r9d, byte [r8]
lea r8, [r8 + 1]
test r9b, r9b
jne 0x7ff70b50c802
cmp r10d, r14d
je 0x7ff70b50c83f
test r11d, r11d
jne 0x7ff70b50c7e2
mov rax, qword [rax]
jmp 0x7ff70b50c740
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rsi + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
cmp r10, rsi
jbe 0x7ff70b50c8f2
lea rax, [rsi + r13]
cmp r10, rax
jae 0x7ff70b50c8f2
mov r12d, 0x811c9dc5
mov r14d, r12d
movzx edx, byte [r10]
cmp dl, 0x2e
je 0x7ff70b50c8a7
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r12d
imul r12d, ecx, 0x1000193
inc r10
movzx edx, byte [r10]
cmp dl, 0x2e
jne 0x7ff70b50c880
inc r10
movzx edx, byte [r10]
test dl, dl
je 0x7ff70b50c8d9
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
lea r10, [r10 + 1]
movzx edx, byte [r10]
test dl, dl
jne 0x7ff70b50c8b2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b50c740
xor r15d, r15d
jmp 0x7ff70b50c8fd
xor r15d, r15d
mov r10d, r15d
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x40], 0x60
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x10]
lea r8, [rbp - 0x20]
mov edx, 0xc0100000
lea rcx, [rbp - 0x80]
call r10
test eax, eax
js 0x7ff70b50c94a
mov rcx, qword [rbp - 0x80]
mov qword [rsp + 0x60], rcx
test eax, eax
jns 0x7ff70b50cfdb
cmp eax, 0xc0000043
jne 0x7ff70b50cdc3
mov r8, qword [0x7ff70b692510]
test r8, r8
jne 0x7ff70b50cb92
mov r12d, r15d
mov r14d, 0x89eabb08
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x68], xmm0
movd ecx, xmm0
sub cx, 8
test r12d, r12d
je 0x7ff70b50c9f3
mov r9, qword [rsp + 0x70]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x7ff70b50c9ea
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x7ff70b50c9c0
cmp r10d, r12d
jne 0x7ff70b50cb3a
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b50cb47
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov esi, edx
add rsi, rbx
cmp rsi, rbx
je 0x7ff70b50cb3a
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff70b50cb3a
mov r15d, dword [rsi + 0x20]
dec r11d
lea rcx, [rbx + r11*4]
mov r8d, dword [rcx + r15]
add r8, rbx
mov r10d, 0x811c9dc5
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x7ff70b50ca7d
movsx ecx, r9b
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r9d, byte [r8]
lea r8, [r8 + 1]
test r9b, r9b
jne 0x7ff70b50ca52
cmp r10d, r14d
je 0x7ff70b50ca8f
test r11d, r11d
jne 0x7ff70b50ca32
mov rax, qword [rax]
jmp 0x7ff70b50c990
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rsi + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r8d, dword [rcx + rax*4]
add r8, rbx
cmp r8, rsi
jbe 0x7ff70b50cb42
lea rax, [rsi + r13]
cmp r8, rax
jae 0x7ff70b50cb42
mov r12d, 0x811c9dc5
mov r14d, r12d
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x7ff70b50caf7
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r12d
imul r12d, ecx, 0x1000193
inc r8
movzx edx, byte [r8]
cmp dl, 0x2e
jne 0x7ff70b50cad0
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x7ff70b50cb29
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
lea r8, [r8 + 1]
movzx edx, byte [r8]
test dl, dl
jne 0x7ff70b50cb02
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b50c990
xor r15d, r15d
jmp 0x7ff70b50cb4d
xor r15d, r15d
mov r8d, r15d
mov qword [0x7ff70b692510], r8
nop dword [rax]
nop dword [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rdx, [rax + rax*4]
mov qword [0x7ff70b692518], rdx
cmp rdx, r8
je 0x7ff70b50cb60
xor r8, rdx
mov qword [0x7ff70b692510], r8
mov eax, edx
xor eax, 0x89eabb08
mov dword [0x7ff70b692508], eax
jmp 0x7ff70b50cb99
mov rdx, qword [0x7ff70b692518]
xor rdx, r8
mov ecx, 0x32
call rdx
nop
cmp qword [rsp + 0x60], 0
je 0x7ff70b50cda7
mov r12d, r15d
mov r14d, 0xe049c205
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x68], xmm0
movd ecx, xmm0
sub cx, 8
test r12d, r12d
je 0x7ff70b50cc33
mov r9, qword [rsp + 0x70]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x7ff70b50cc2a
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x7ff70b50cc00
cmp r10d, r12d
jne 0x7ff70b50cd8c
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b50cd99
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov esi, edx
add rsi, rbx
cmp rsi, rbx
je 0x7ff70b50cd8c
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff70b50cd8c
mov r15d, dword [rsi + 0x20]
dec r11d
lea rcx, [rbx + r11*4]
mov r8d, dword [rcx + r15]
add r8, rbx
mov r10d, 0x811c9dc5
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x7ff70b50ccbd
movsx ecx, r9b
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r9d, byte [r8]
lea r8, [r8 + 1]
test r9b, r9b
jne 0x7ff70b50cc92
cmp r10d, r14d
je 0x7ff70b50cccf
test r11d, r11d
jne 0x7ff70b50cc72
mov rax, qword [rax]
jmp 0x7ff70b50cbd0
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rsi + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov edx, dword [rcx + rax*4]
add rdx, rbx
cmp rdx, rsi
jbe 0x7ff70b50cd94
lea rax, [rsi + r13]
cmp rdx, rax
jae 0x7ff70b50cd94
mov r12d, 0x811c9dc5
mov r14d, r12d
movzx r8d, byte [rdx]
cmp r8b, 0x2e
je 0x7ff70b50cd3b
nop
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, r12d
imul r12d, ecx, 0x1000193
inc rdx
movzx r8d, byte [rdx]
cmp r8b, 0x2e
jne 0x7ff70b50cd10
inc rdx
movzx r8d, byte [rdx]
test r8b, r8b
je 0x7ff70b50cd7b
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
lea rdx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jne 0x7ff70b50cd50
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b50cbd0
xor r15d, r15d
jmp 0x7ff70b50cd9f
xor r15d, r15d
mov edx, r15d
mov rcx, qword [rsp + 0x60]
call rdx
nop
mov ecx, dword [rbp + 0x2b8]
inc ecx
mov dword [rbp + 0x2b8], ecx
cmp ecx, 0x1e
jl 0x7ff70b50c6b0
jmp 0x7ff70b50d645
cmp qword [rsp + 0x60], 0
je 0x7ff70b50d645
mov edi, r15d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x68], xmm0
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x7ff70b50ce53
mov r9, qword [rsp + 0x70]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x7ff70b50ce4a
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x7ff70b50ce20
cmp r10d, edi
jne 0x7ff70b50cfd3
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b50d63b
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
shr r12, 0x20
mov r14d, edx
add r14, rbx
cmp r14, rbx
je 0x7ff70b50cfd3
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff70b50cfd3
mov r15d, dword [r14 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + r15]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff70b50ceeb
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 0x7ff70b50cec0
cmp r10d, dword [rbp + 0x2a0]
je 0x7ff70b50cf01
test r11d, r11d
jne 0x7ff70b50cea0
mov rax, qword [rax]
jmp 0x7ff70b50cde3
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
cmp rdx, r14
jbe 0x7ff70b50d63d
lea rax, [r14 + r12]
cmp rdx, rax
jae 0x7ff70b50d63d
mov edi, 0x811c9dc5
mov r9d, edi
mov dword [rbp + 0x2a0], edi
movzx r8d, byte [rdx]
cmp r8b, 0x2e
je 0x7ff70b50cf79
nop dword [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
inc rdx
movzx r8d, byte [rdx]
cmp r8b, 0x2e
jne 0x7ff70b50cf50
inc rdx
movzx r8d, byte [rdx]
test r8b, r8b
je 0x7ff70b50cfc2
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
lea rdx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jne 0x7ff70b50cf90
mov dword [rbp + 0x2a0], r9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b50cde3
xor eax, eax
mov qword [rbp + 0x2b8], rax
mov esi, r15d
mov edi, 0xb0bac3c4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x68], xmm0
movd ecx, xmm0
sub cx, 8
test esi, esi
je 0x7ff70b50d063
mov r9, qword [rsp + 0x70]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x7ff70b50d05a
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x7ff70b50d030
cmp r10d, esi
jne 0x7ff70b50d1b6
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b50d1c3
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov r15d, edx
add r15, rbx
cmp r15, rbx
je 0x7ff70b50d1b6
mov r11d, dword [r15 + 0x18]
test r11d, r11d
je 0x7ff70b50d1b6
mov r12d, dword [r15 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + r12]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff70b50d0fb
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 0x7ff70b50d0d0
cmp r10d, edi
je 0x7ff70b50d10d
test r11d, r11d
jne 0x7ff70b50d0b0
mov rax, qword [rax]
jmp 0x7ff70b50d000
mov ecx, dword [r15 + 0x1c]
add rcx, rbx
mov eax, dword [r15 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
cmp r10, r15
jbe 0x7ff70b50d1be
lea rax, [r15 + r13]
cmp r10, rax
jae 0x7ff70b50d1be
mov esi, 0x811c9dc5
mov edi, esi
movzx edx, byte [r10]
cmp dl, 0x2e
je 0x7ff70b50d175
nop dword [rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
inc r10
movzx edx, byte [r10]
cmp dl, 0x2e
jne 0x7ff70b50d150
inc r10
movzx edx, byte [r10]
test dl, dl
je 0x7ff70b50d1a5
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
lea r10, [r10 + 1]
movzx edx, byte [r10]
test dl, dl
jne 0x7ff70b50d180
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b50d000
xor r15d, r15d
jmp 0x7ff70b50d1c9
xor r15d, r15d
mov r10d, r15d
mov qword [rsp + 0x40], r15
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x2b0]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0x2a8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call r10
nop
test eax, eax
jns 0x7ff70b50d42b
test rbx, rbx
je 0x7ff70b50d645
mov edi, r15d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x68], xmm0
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x7ff70b50d2a3
mov r9, qword [rsp + 0x70]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x7ff70b50d29a
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x7ff70b50d270
cmp r10d, edi
jne 0x7ff70b50d423
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b50d63b
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
shr r12, 0x20
mov r14d, edx
add r14, rbx
cmp r14, rbx
je 0x7ff70b50d423
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff70b50d423
mov r15d, dword [r14 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + r15]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff70b50d33b
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 0x7ff70b50d310
cmp r10d, dword [rbp + 0x2a0]
je 0x7ff70b50d351
test r11d, r11d
jne 0x7ff70b50d2f0
mov rax, qword [rax]
jmp 0x7ff70b50d233
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
cmp rdx, r14
jbe 0x7ff70b50d63d
lea rax, [r14 + r12]
cmp rdx, rax
jae 0x7ff70b50d63d
mov edi, 0x811c9dc5
mov r9d, edi
mov dword [rbp + 0x2a0], edi
movzx r8d, byte [rdx]
cmp r8b, 0x2e
je 0x7ff70b50d3c9
nop dword [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
inc rdx
movzx r8d, byte [rdx]
cmp r8b, 0x2e
jne 0x7ff70b50d3a0
inc rdx
movzx r8d, byte [rdx]
test r8b, r8b
je 0x7ff70b50d412
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
lea rdx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jne 0x7ff70b50d3e0
mov dword [rbp + 0x2a0], r9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b50d233
test rbx, rbx
je 0x7ff70b50d645
mov edi, r15d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x68], xmm0
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x7ff70b50d4b3
mov r9, qword [rsp + 0x70]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x7ff70b50d4aa
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x7ff70b50d480
cmp r10d, edi
jne 0x7ff70b50d633
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b50d63b
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
shr r12, 0x20
mov r14d, edx
add r14, rbx
cmp r14, rbx
je 0x7ff70b50d633
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff70b50d633
mov r15d, dword [r14 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [r15 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x811c9dc5
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x7ff70b50d54a
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 0x7ff70b50d520
cmp r10d, dword [rbp + 0x2a0]
je 0x7ff70b50d560
test r11d, r11d
jne 0x7ff70b50d500
mov rax, qword [rax]
jmp 0x7ff70b50d450
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
cmp rdx, r14
jbe 0x7ff70b50d63d
lea rax, [r14 + r12]
cmp rdx, rax
jae 0x7ff70b50d63d
mov edi, 0x811c9dc5
mov r9d, edi
mov dword [rbp + 0x2a0], edi
movzx r8d, byte [rdx]
cmp r8b, 0x2e
je 0x7ff70b50d5d9
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
inc rdx
movzx r8d, byte [rdx]
cmp r8b, 0x2e
jne 0x7ff70b50d5b0
inc rdx
movzx r8d, byte [rdx]
test r8b, r8b
je 0x7ff70b50d622
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
lea rdx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jne 0x7ff70b50d5f0
mov dword [rbp + 0x2a0], r9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b50d450
xor edx, edx
mov rcx, qword [rsp + 0x60]
call rdx
nop
xor eax, eax
add rsp, 0x358
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret