Function at 0x18000c690
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x1800c2840]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r10, qword [0x1800c4578]
test r10, r10
jne 0x18000c81c
mov rax, qword gs:[0x60]
xor r14d, r14d
mov ebx, 0xbdcac9ce
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
nop
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x18000c73d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x18000c734
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x18000c720
cmp edx, r14d
jne 0x18000c803
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov r11d, ecx
shr r15, 0x20
add r11, r9
cmp r11, r9
je 0x18000c803
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x18000c803
mov esi, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rsi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000c7b7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18000c7a0
cmp edx, ebx
je 0x18000c7c2
test r8d, r8d
jne 0x18000c780
jmp 0x18000c803
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
cmp r10, r11
jbe 0x18000c815
lea rax, [r15 + r11]
cmp r10, rax
jae 0x18000c815
mov r14d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 0x41], r14d
mov dword [rbp - 0x3d], r14d
mov rbx, qword [rbp - 0x41]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x18000c6f0
xor r10d, r10d
mov qword [0x1800c4578], r10
movdqa xmm0, xmmword [0x1800932f0]
xor ecx, ecx
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x19], 0xbc
mov byte [rbp - 0x17], 1
nop word [rax + rax]
lea eax, [rcx - 0x1e]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 0x11
jb 0x18000c840
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
lea rcx, [rbp - 0x29]
mov edx, 0x80000000
mov byte [rbp - 0x17], 0
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 7]
call r10
cmp rax, 0xffffffffffffffff
je 0x18000c892
mov qword [0], 1
mov rdx, qword [0x1800c4598]
test rdx, rdx
jne 0x18000c9ea
mov rax, qword gs:[0x60]
xor r14d, r14d
mov ebx, 0x53b2070f
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
nop
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x18000c90d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x18000c904
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x18000c8f0
cmp edx, r14d
jne 0x18000c9d2
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov r10d, ecx
shr r15, 0x20
add r10, r9
cmp r10, r9
je 0x18000c9d2
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x18000c9d2
mov esi, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rsi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000c987
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18000c970
cmp edx, ebx
je 0x18000c992
test r8d, r8d
jne 0x18000c950
jmp 0x18000c9d2
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov edx, dword [rcx + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x18000c9e3
lea rax, [r15 + r10]
cmp rdx, rax
jae 0x18000c9e3
mov r14d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 0x41], r14d
mov dword [rbp - 0x3d], r14d
mov rbx, qword [rbp - 0x41]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x18000c8c0
xor edx, edx
mov qword [0x1800c4598], rdx
mov dword [rbp - 0x59], 0x9d8ba1b4
xor ecx, ecx
mov dword [rbp - 0x55], 0x828788ae
mov dword [rbp - 0x51], 0x81808fc4
mov word [rbp - 0x4d], 0x100
nop word [rax + rax]
lea eax, [rcx - 0x1e]
xor byte [rbp + rcx - 0x59], al
inc rcx
cmp rcx, 0xc
jb 0x18000ca10
lea rcx, [rbp - 0x59]
mov byte [rbp - 0x4c], 0
call rdx
test rax, rax
je 0x18000ca3b
mov qword [0], 1
mov r10, qword [0x1800c4580]
mov r13d, 0xdf6a51c
mov qword [rbp + 0x1f], 0
test r10, r10
jne 0x18000cbac
mov rax, qword gs:[0x60]
xor r14d, r14d
mov ebx, r13d
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x18000cacd
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x18000cac4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x18000cab0
cmp edx, r14d
jne 0x18000cb93
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov r11d, ecx
shr r15, 0x20
add r11, r9
cmp r11, r9
je 0x18000cb93
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x18000cb93
mov esi, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rsi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000cb47
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18000cb30
cmp edx, ebx
je 0x18000cb52
test r8d, r8d
jne 0x18000cb10
jmp 0x18000cb93
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
cmp r10, r11
jbe 0x18000cba5
lea rax, [r15 + r11]
cmp r10, rax
jae 0x18000cba5
mov r14d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 0x41], r14d
mov dword [rbp - 0x3d], r14d
mov rbx, qword [rbp - 0x41]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x18000ca80
xor r10d, r10d
mov qword [0x1800c4580], r10
movdqa xmm0, xmmword [0x1800932d0]
xor ecx, ecx
movdqa xmm1, xmmword [0x180093100]
movdqu xmmword [rbp - 0x29], xmm0
mov dword [rbp - 9], 0x61604222
movdqu xmmword [rbp - 0x19], xmm1
mov dword [rbp - 5], 0x6661736f
mov dword [rbp - 1], 0x1007864
nop dword [rax]
lea eax, [rcx - 0x1e]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 0x2a
jb 0x18000cbe0
lea rax, [rbp + 0x1f]
mov byte [rbp + 2], 0
mov r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp - 0x29]
mov rcx, 0xffffffff80000002
call r10
mov r8d, 0x1242154a
mov qword [rbp - 0x41], r8
test eax, eax
jne 0x18000cd9c
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x18000cd9c
mov rdx, qword [0x1800c4570]
test rdx, rdx
jne 0x18000cd8e
mov rax, qword gs:[0x60]
xor r15d, r15d
mov ebx, r8d
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rsi, r12
nop dword [rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x18000ccad
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x18000cca4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x18000cc90
cmp edx, r15d
jne 0x18000cd72
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x18000cd72
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x18000cd72
mov edi, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000cd27
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18000cd10
cmp edx, ebx
je 0x18000cd32
test r8d, r8d
jne 0x18000ccf0
jmp 0x18000cd72
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov edx, dword [rcx + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x18000cd83
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x18000cd83
mov r15d, 0x811c9dc5
mov rsi, r12
mov dword [rbp - 0x49], r15d
mov dword [rbp - 0x45], r15d
mov rbx, qword [rbp - 0x49]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
jne 0x18000cc60
xor edx, edx
mov rcx, qword [rbp + 0x1f]
mov qword [0x1800c4570], rdx
call rdx
mov qword [0], 1
mov r10, qword [0x1800c4580]
mov qword [rbp + 0x1f], 0
test r10, r10
jne 0x18000cefd
mov rax, qword gs:[0x60]
xor r14d, r14d
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rdi, r15
nop dword [rax + rax]
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x18000ce1d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x18000ce14
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x18000ce00
cmp edx, r14d
jne 0x18000cee4
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov rsi, rcx
mov r11d, ecx
shr rsi, 0x20
add r11, r9
cmp r11, r9
je 0x18000cee4
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x18000cee4
mov ebx, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rbx]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000ce97
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18000ce80
cmp edx, r13d
je 0x18000cea3
test r8d, r8d
jne 0x18000ce60
jmp 0x18000cee4
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
cmp r10, r11
jbe 0x18000cef6
lea rax, [rsi + r11]
cmp r10, rax
jae 0x18000cef6
mov r14d, 0x811c9dc5
mov rdi, r15
mov dword [rbp - 0x49], r14d
mov dword [rbp - 0x45], r14d
mov r13, qword [rbp - 0x49]
shr r13, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r15
jne 0x18000cdd0
xor r10d, r10d
mov qword [0x1800c4580], r10
movdqa xmm0, xmmword [0x1800932a0]
xor edx, edx
movdqu xmmword [rbp - 0x29], xmm0
mov dword [rbp - 0x19], 0xbbbbbaa6
mov dword [rbp - 0x15], 0x8a81a4aa
mov dword [rbp - 0x11], 0x919e8e
mov byte [rbp - 0xd], 1
nop word [rax + rax]
lea eax, [rdx - 0x1e]
xor byte [rbp + rdx - 0x29], al
inc rdx
cmp rdx, 0x1b
jb 0x18000cf30
lea rax, [rbp + 0x1f]
mov byte [rbp - 0xd], 0
mov r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp - 0x29]
mov rcx, 0xffffffff80000002
call r10
test eax, eax
jne 0x18000db67
mov r8, qword [0x1800c4568]
mov dword [rbp + 0x27], eax
mov eax, 0xc2c33c3d
mov qword [rbp + 0x17], rax
mov dword [rbp + 0x2b], 0x100
test r8, r8
jne 0x18000d0dc
mov ebx, eax
xor r15d, r15d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
nop dword [rax + rax]
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x18000cffd
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x18000cff4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x18000cfe0
cmp edx, r15d
jne 0x18000d0c3
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x18000d0c3
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x18000d0c3
mov esi, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rsi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000d077
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18000d060
cmp edx, ebx
je 0x18000d082
test r8d, r8d
jne 0x18000d040
jmp 0x18000d0c3
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov r8d, dword [rcx + rdx*4]
add r8, r9
cmp r8, r10
jbe 0x18000d0d5
lea rax, [r14 + r10]
cmp r8, rax
jae 0x18000d0d5
mov r15d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 0x49], r15d
mov dword [rbp - 0x45], r15d
mov rbx, qword [rbp - 0x49]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x18000cfb0
xor r8d, r8d
mov qword [0x1800c4568], r8
mov edx, 0x10a
mov ecx, 0x40
call r8
mov r10, qword [0x1800c4560]
mov r13, rax
mov eax, 0x9027eb7c
mov qword [rbp - 0x49], rax
test r10, r10
jne 0x18000d24c
mov rcx, qword gs:[0x60]
xor r15d, r15d
mov ebx, eax
mov rdx, qword [rcx + 0x18]
mov r12, qword [rdx + 0x10]
mov rsi, r12
nop
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x18000d16d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x18000d164
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x18000d150
cmp edx, r15d
jne 0x18000d233
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r11d, ecx
shr r14, 0x20
add r11, r9
cmp r11, r9
je 0x18000d233
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x18000d233
mov edi, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000d1e7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18000d1d0
cmp edx, ebx
je 0x18000d1f2
test r8d, r8d
jne 0x18000d1b0
jmp 0x18000d233
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
cmp r10, r11
jbe 0x18000d245
lea rax, [r11 + r14]
cmp r10, rax
jae 0x18000d245
mov r15d, 0x811c9dc5
mov rsi, r12
mov dword [rbp - 0x59], r15d
mov dword [rbp - 0x55], r15d
mov rbx, qword [rbp - 0x59]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
jne 0x18000d120
xor r10d, r10d
mov qword [0x1800c4560], r10
movdqa xmm0, xmmword [0x180093270]
xor ecx, ecx
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x19], 0x9c
mov byte [rbp - 0x17], 1
nop word [rax + rax]
lea eax, [rcx - 0x1e]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 0x11
jb 0x18000d270
mov rcx, qword [rbp + 0x1f]
lea rax, [rbp + 0x2b]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x27]
xor r8d, r8d
mov qword [rsp + 0x20], r13
lea rdx, [rbp - 0x29]
mov byte [rbp - 0x17], 0
call r10
test eax, eax
jne 0x18000d2ef
mov rcx, r13
call fcn.18000c2a0
mov eax, dword [rbp + 0x27]
cmp eax, 1
je 0x18000d2bd
cmp eax, 7
jne 0x18000d2ef
lea rcx, [rbp - 0x31]
mov dword [rbp - 0x31], 0x9d8b8194
mov word [rbp - 0x2d], 0x100
call fcn.1800064d0
mov rdx, rax
mov rcx, r13
call fcn.18001132c
test rax, rax
je 0x18000d2ef
mov qword [0], 1
mov rdx, qword [0x1800c4558]
mov eax, 0xbf0306f6
mov qword [rbp - 0x31], rax
test rdx, rdx
jne 0x18000d44a
mov ebx, eax
xor r15d, r15d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rsi, r12
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x18000d36d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x18000d364
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x18000d350
cmp edx, r15d
jne 0x18000d432
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x18000d432
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x18000d432
mov edi, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000d3e7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18000d3d0
cmp edx, ebx
je 0x18000d3f2
test r8d, r8d
jne 0x18000d3b0
jmp 0x18000d432
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov edx, dword [rcx + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x18000d443
lea rax, [r10 + r14]
cmp rdx, rax
jae 0x18000d443
mov r15d, 0x811c9dc5
mov rsi, r12
mov dword [rbp - 0x59], r15d
mov dword [rbp - 0x55], r15d
mov rbx, qword [rbp - 0x59]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
jne 0x18000d321
xor edx, edx
mov qword [0x1800c4558], rdx
mov rcx, r13
call rdx
mov r8, qword [0x1800c4568]
mov dword [rbp + 0x27], 0
mov dword [rbp + 0x2b], 0x200
test r8, r8
jne 0x18000d5c4
mov rax, qword gs:[0x60]
xor r14d, r14d
mov r12, qword [rbp + 0x17]
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rdi, r15
nop dword [rax + rax]
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x18000d4dd
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x18000d4d4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x18000d4c0
cmp edx, r14d
jne 0x18000d5ab
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov rsi, rcx
mov r10d, ecx
shr rsi, 0x20
add r10, r9
cmp r10, r9
je 0x18000d5ab
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x18000d5ab
mov ebx, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rbx + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000d557
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18000d540
cmp edx, r12d
je 0x18000d563
test r8d, r8d
jne 0x18000d520
jmp 0x18000d5ab
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov r8d, dword [rcx + rdx*4]
add r8, r9
cmp r8, r10
jbe 0x18000d5bd
lea rax, [rsi + r10]
cmp r8, rax
jae 0x18000d5bd
mov r14d, 0x811c9dc5
mov rdi, r15
mov dword [rbp - 0x59], r14d
mov dword [rbp - 0x55], r14d
mov rax, qword [rbp - 0x59]
shr rax, 0x20
mov qword [rbp + 0x17], rax
mov r12, rax
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r15
jne 0x18000d490
xor r8d, r8d
mov qword [0x1800c4568], r8
mov edx, 0x20a
mov ecx, 0x40
call r8
mov r10, qword [0x1800c4560]
mov r12, rax
test r10, r10
jne 0x18000d734
mov rcx, qword gs:[0x60]
xor r14d, r14d
mov r13, qword [rbp - 0x49]
mov rdx, qword [rcx + 0x18]
mov r15, qword [rdx + 0x10]
mov rdi, r15
nop
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x18000d64d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x18000d644
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x18000d630
cmp edx, r14d
jne 0x18000d71b
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov rsi, rcx
mov r11d, ecx
shr rsi, 0x20
add r11, r9
cmp r11, r9
je 0x18000d71b
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x18000d71b
mov ebx, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rbx + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000d6c7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18000d6b0
cmp edx, r13d
je 0x18000d6d3
test r8d, r8d
jne 0x18000d690
jmp 0x18000d71b
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
cmp r10, r11
jbe 0x18000d72d
lea rax, [rsi + r11]
cmp r10, rax
jae 0x18000d72d
mov r14d, 0x811c9dc5
mov rdi, r15
mov dword [rbp - 0x59], r14d
mov dword [rbp - 0x55], r14d
mov rax, qword [rbp - 0x59]
shr rax, 0x20
mov qword [rbp - 0x49], rax
mov r13, rax
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r15
jne 0x18000d600
xor r10d, r10d
mov qword [0x1800c4560], r10
movdqa xmm0, xmmword [0x180093290]
xor ecx, ecx
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x19], 0x100
nop dword [rax]
lea eax, [rcx - 0x1e]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 0x10
jb 0x18000d750
mov rcx, qword [rbp + 0x1f]
lea rax, [rbp + 0x2b]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x27]
xor r8d, r8d
mov qword [rsp + 0x20], r12
lea rdx, [rbp - 0x29]
mov byte [rbp - 0x18], 0
call r10
test eax, eax
jne 0x18000d898
cmp dword [rbp + 0x27], 7
jne 0x18000d898
mov rdi, r12
cmp byte [r12], al
je 0x18000d898
nop dword [rax]
nop word [rax + rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x18000d7b7
test eax, eax
je 0x18000d7e4
mov rbx, rdi
mov esi, eax
nop dword [rax]
movsx ecx, byte [rbx]
call fcn.180022460
mov byte [rbx], al
lea rbx, [rbx + 1]
sub rsi, 1
jne 0x18000d7d0
mov dword [rbp - 0x39], 0x8685918d
xor ecx, ecx
mov dword [rbp - 0x35], 0x100828a
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x1e]
xor byte [rbp + rcx - 0x39], al
inc rcx
cmp rcx, 6
jb 0x18000d800
lea rdx, [rbp - 0x39]
mov byte [rbp - 0x32], 0
mov rcx, rdi
call fcn.18001132c
test rax, rax
jne 0x18000d865
mov dword [rbp + 7], 0x91968a94
xor ecx, ecx
mov dword [rbp + 0xb], 0x8b848693
mov dword [rbp + 0xf], 0x1009385
nop dword [rax]
lea eax, [rcx - 0x1e]
xor byte [rbp + rcx + 7], al
inc rcx
cmp rcx, 0xa
jb 0x18000d840
lea rdx, [rbp + 7]
mov byte [rbp + 0x12], 0
mov rcx, rdi
call fcn.18001132c
test rax, rax
je 0x18000d871
mov qword [0], 1
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x18000d880
inc rdi
add rdi, rax
cmp byte [rdi], 0
jne 0x18000d7b0
mov rdx, qword [0x1800c4558]
test rdx, rdx
jne 0x18000d9ff
mov rax, qword gs:[0x60]
xor esi, esi
mov r13, qword [rbp - 0x31]
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rbx, r15
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test esi, esi
je 0x18000d91c
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x18000d914
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x18000d900
cmp edx, esi
jne 0x18000d9e7
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x18000d9e7
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x18000d9e7
mov edi, dword [r10 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000d997
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18000d980
cmp edx, r13d
je 0x18000d9a3
test r8d, r8d
jne 0x18000d960
jmp 0x18000d9e7
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov edx, dword [rcx + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x18000d9f8
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x18000d9f8
mov esi, 0x811c9dc5
mov rbx, r15
mov dword [rbp - 0x59], esi
mov dword [rbp - 0x55], esi
mov rax, qword [rbp - 0x59]
shr rax, 0x20
mov qword [rbp - 0x31], rax
mov r13, rax
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jne 0x18000d8d0
xor edx, edx
mov qword [0x1800c4558], rdx
mov rcx, r12
call rdx
mov rdx, qword [0x1800c4570]
test rdx, rdx
jne 0x18000db5f
mov rax, qword gs:[0x60]
xor esi, esi
mov r12, qword [rbp - 0x41]
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rbx, r15
nop
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test esi, esi
je 0x18000da7c
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x18000da74
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x18000da60
cmp edx, esi
jne 0x18000db47
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x18000db47
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x18000db47
mov edi, dword [r10 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000daf7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18000dae0
cmp edx, r12d
je 0x18000db03
test r8d, r8d
jne 0x18000dac0
jmp 0x18000db47
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov edx, dword [rcx + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x18000db58
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x18000db58
mov esi, 0x811c9dc5
mov rbx, r15
mov dword [rbp - 0x59], esi
mov dword [rbp - 0x55], esi
mov rax, qword [rbp - 0x59]
shr rax, 0x20
mov qword [rbp - 0x41], rax
mov r12, rax
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jne 0x18000da30
xor edx, edx
mov qword [0x1800c4570], rdx
mov rcx, qword [rbp + 0x1f]
call rdx
xor eax, eax
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1800101f0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret