Function at 0x180022370
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 + 8], rbx
push rdi
sub rsp, 0xa0
movups xmm0, xmmword [0x1800713e8]
mov r10d, dword [0x18036ed30]
xor r8d, r8d
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
lea ebx, [r8 + 0x1f]
lea r11d, [r8 + 1]
movups xmm1, xmmword [0x1800713f8]
movups xmmword [rax - 0x67], xmm0
movsd xmm0, qword [0x180071408]
movsd qword [rax - 0x47], xmm0
movups xmmword [rax - 0x57], xmm1
mov eax, dword [0x180071410]
mov dword [rsp + 0x69], eax
movzx eax, word [0x180071414]
mov word [rsp + 0x6d], ax
cmp r10d, 2
jl 0x180022529
movdqa xmm0, xmmword [0x180073210]
lea rcx, [rsp + 0x45]
movdqa xmm5, xmmword [0x180073170]
movdqa xmm4, xmmword [0x180073200]
movdqa xmm7, xmmword [0x1800731d0]
movdqa xmmword [rsp + 0x20], xmm0
mov edx, dword [rsp + 0x20]
movd xmm6, r11d
movd xmm8, ebx
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
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
pand xmm2, xmmword [0x1800731f0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
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
pand xmm2, xmmword [0x1800731f0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x28
jl 0x180022420
cmp r8d, 0x2e
jge 0x180022570
movsxd rax, r8d
lea r9, [rsp + 0x41]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x2e
jl 0x180022540
movups xmm0, xmmword [0x1800713d0]
movzx eax, byte [0x1800713e0]
xor r8d, r8d
mov byte [rsp + 0x40], al
movups xmmword [rsp + 0x30], xmm0
cmp r10d, 2
jl 0x1800226d9
movdqa xmm0, xmmword [0x180073210]
lea rcx, [rsp + 0x34]
movdqa xmm5, xmmword [0x180073170]
movdqa xmm4, xmmword [0x180073200]
movdqa xmm7, xmmword [0x1800731d0]
movdqa xmmword [rsp + 0x20], xmm0
mov edx, dword [rsp + 0x20]
movd xmm6, r11d
movd xmm8, ebx
nop dword [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
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
pand xmm2, xmmword [0x1800731f0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
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
pand xmm2, xmmword [0x1800731f0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x1800225d0
cmp r8d, 0x11
jge 0x180022720
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x11
jl 0x1800226f0
lea rdx, [rsp + 0x41]
lea rcx, [rsp + 0x30]
call fcn.180055c50
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
mov qword [0x18036f4c8], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
nop dword [rax]
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1800227db
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x1800227db
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov ecx, dword [r8]
mov edx, 0x811c9dc5
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1800227cf
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800227b0
cmp edx, 0x595fa990
je 0x1800227e0
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x180022790
mov rdi, qword [rdi]
jmp 0x180022760
mov eax, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x1c]
add rax, r10
add rcx, r10
movzx edx, word [rax + r9*2]
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x18036f4e8], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
nop
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x18002288b
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x18002288b
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov ecx, dword [r8]
mov edx, 0x811c9dc5
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18002287f
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180022860
cmp edx, 0xdc3250cb
je 0x180022890
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x180022840
mov rdi, qword [rdi]
jmp 0x180022810
mov eax, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x1c]
add rax, r10
add rcx, r10
movzx edx, word [rax + r9*2]
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x18036f480], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
nop
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x18002293b
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x18002293b
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov ecx, dword [r8]
mov edx, 0x811c9dc5
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18002292f
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180022910
cmp edx, 0x52d556ee
je 0x180022940
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x1800228f0
mov rdi, qword [rdi]
jmp 0x1800228c0
mov eax, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x1c]
add rax, r10
add rcx, r10
movzx edx, word [rax + r9*2]
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x18036f470], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
nop
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1800229eb
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x1800229eb
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov ecx, dword [r8]
mov edx, 0x811c9dc5
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1800229df
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800229c0
cmp edx, 0x2d4afd64
je 0x1800229f0
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x1800229a0
mov rdi, qword [rdi]
jmp 0x180022970
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
add rax, r10
mov qword [0x18036f490], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180022a9b
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x180022a9b
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov ecx, dword [r8]
mov edx, 0x811c9dc5
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180022a8f
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180022a70
cmp edx, 0x615a11c1
je 0x180022aa0
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x180022a50
mov rdi, qword [rdi]
jmp 0x180022a20
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
add rax, r10
mov qword [0x18036f498], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180022b4b
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x180022b4b
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov ecx, dword [r8]
mov edx, 0x811c9dc5
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180022b3f
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180022b20
cmp edx, 0xd1f79bec
je 0x180022b50
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x180022b00
mov rdi, qword [rdi]
jmp 0x180022ad0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
add rax, r10
mov qword [0x18036f4d8], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180022bfb
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x180022bfb
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov ecx, dword [r8]
mov edx, 0x811c9dc5
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180022bef
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180022bd0
cmp edx, 0x9332acfd
je 0x180022c00
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x180022bb0
mov rdi, qword [rdi]
jmp 0x180022b80
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
add rax, r10
mov qword [0x18036f4c0], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180022cab
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x180022cab
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov ecx, dword [r8]
mov edx, 0x811c9dc5
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180022c9f
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180022c80
cmp edx, 0xb544ab00
je 0x180022cb0
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x180022c60
mov rdi, qword [rdi]
jmp 0x180022c30
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
add rax, r10
mov qword [0x18036f468], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180022d5b
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x180022d5b
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov ecx, dword [r8]
mov edx, 0x811c9dc5
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180022d4f
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180022d30
cmp edx, 0x2a654126
je 0x180022d60
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x180022d10
mov rdi, qword [rdi]
jmp 0x180022ce0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
add rax, r10
mov qword [0x18036f4d0], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180022e0b
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x180022e0b
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov ecx, dword [r8]
mov edx, 0x811c9dc5
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180022dff
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180022de0
cmp edx, 0xde4cdca5
je 0x180022e10
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x180022dc0
mov rdi, qword [rdi]
jmp 0x180022d90
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
add rax, r10
mov qword [0x18036f4f0], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180022ebb
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x180022ebb
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov ecx, dword [r8]
mov edx, 0x811c9dc5
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180022eaf
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180022e90
cmp edx, 0xa5356f67
je 0x180022ec0
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x180022e70
mov rdi, qword [rdi]
jmp 0x180022e40
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
add rax, r10
mov qword [0x18036f4a0], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180022f6b
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x180022f6b
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov ecx, dword [r8]
mov edx, 0x811c9dc5
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180022f5f
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180022f40
cmp edx, 0xd697c396
je 0x180022f70
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x180022f20
mov rdi, qword [rdi]
jmp 0x180022ef0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
add rax, r10
mov qword [0x18036f4e0], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x18002301b
mov r11d, dword [rbx + 0x18]
xor r9d, r9d
test r11d, r11d
je 0x18002301b
mov r8d, dword [rbx + 0x20]
add r8, r10
nop dword [rax + rax]
mov eax, dword [r8]
mov edx, 0x811c9dc5
add rax, r10
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x18002300f
nop word [rax + rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax - 1]
test cl, cl
jne 0x180022ff0
cmp edx, 0x2164fbe
je 0x180023020
inc r9d
add r8, 4
cmp r9d, r11d
jb 0x180022fd0
mov rdi, qword [rdi]
jmp 0x180022fa0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
mov rbx, qword [rsp + 0xb0]
add rcx, r10
mov eax, dword [rcx + r8*4]
add rax, r10
mov qword [0x18036f478], rax
add rsp, 0xa0
pop rdi
ret