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

Disassembly:
push rbx
sub rsp, 0x60
mov r8, qword [0x18009d9d0]
mov rbx, rcx
mov rdx, qword [0x18009b3e0]
movabs r9, 0x7ffffffdfffe
mov rcx, qword [0x18009b3e8]
cmp r8, rdx
jbe 0x18003e086
lea rax, [rcx + rdx]
cmp r8, rax
jb 0x18003e096
lea rax, [r8 - 0x10000]
cmp rax, r9
ja 0x18003e724
cmp rbx, rdx
jbe 0x18003e0a4
lea rax, [rcx + rdx]
cmp rbx, rax
jb 0x18003e0b4
lea rax, [rbx - 0x10000]
cmp rax, r9
ja 0x18003e724
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r13
call fcn.180048590
movdqa xmm0, xmmword [0x18000f780]
lea rcx, [0x18000f204]
xor ebp, ebp
movdqu xmmword [rsp + 0x30], xmm0
or dword [rax + 4], 0xe
mov qword [rax + 0x88], rcx
mov qword [rax + 0xb8], rbp
mov rdx, qword [0x18009e6c8]
cmp rdx, qword [0x18009e6d0]
je 0x18003e130
mov qword [rdx], rbp
mov qword [rdx + 8], 2
mov rdx, qword [0x18009e6c8]
add rdx, 0x10
mov qword [0x18009e6c8], rdx
jmp 0x18003e148
lea r8, [rsp + 0x30]
lea rcx, [0x18009e6c0]
call fcn.18001b620
mov rdx, qword [0x18009e6c8]
cmp rdx, qword [0x18009e6d0]
mov dword [rsp + 0x30], 4
je 0x18003e17c
mov qword [rdx], 4
mov qword [rdx + 8], 2
mov rdx, qword [0x18009e6c8]
add rdx, 0x10
mov qword [0x18009e6c8], rdx
jmp 0x18003e194
lea r8, [rsp + 0x30]
lea rcx, [0x18009e6c0]
call fcn.18001b620
mov rdx, qword [0x18009e6c8]
cmp rdx, qword [0x18009e6d0]
mov dword [rsp + 0x30], 5
mov dword [rsp + 0x34], 0xa
mov dword [rsp + 0x38], 1
je 0x18003e1d4
mov dword [rdx], 5
mov dword [rdx + 4], 0xa
mov qword [rdx + 8], 1
add qword [0x18009e6c8], 0x10
jmp 0x18003e1e5
lea r8, [rsp + 0x30]
lea rcx, [0x18009e6c0]
call fcn.18001b620
lea rcx, [0x18000f208]
call fcn.180021120
mov rcx, rax
call fcn.180027f70
lea rdx, [0x18000d7b0]
mov dword [0x18009e6f0], eax
lea rcx, [0x18000f578]
call fcn.180020ca0
mov rcx, rax
call fcn.18003d070
mov rdi, rax
mov qword [0x18009e6f8], rax
mov rax, qword [0x180001ed0]
cmp rax, 0x402402
jne 0x18003e25e
mov r9d, 0xffffffff
mov dword [rsp + 0x20], ebp
lea r8, [0x18000d7b0]
lea rdx, [0x18000e050]
lea rcx, [0x18000f578]
call fcn.18003cc70
mov qword [0x180001ed0], rax
mov rcx, rdi
call qword [rax]
mov eax, dword [0x18009e788]
mov rdi, qword [0x18009e6f8]
test al, 1
jne 0x18003e292
or eax, 1
lea rcx, [0x18000f590]
mov dword [0x18009e788], eax
call fcn.18003f670
mov qword [0x18009e780], rax
jmp 0x18003e299
mov rax, qword [0x18009e780]
lea rdx, [0x18009e7e8]
mov rcx, rdi
call rax
lea rdx, [0x18000f218]
mov qword [0x18009e6f8], rax
lea rcx, [0x18000f224]
call fcn.180020ca0
test rax, rax
je 0x18003e2d9
mov rcx, rax
call fcn.1800276c0
test rax, rax
je 0x18003e2d9
mov rcx, rax
call fcn.180027800
lea rdx, [0x18000f658]
lea rcx, [0x18000f690]
call fcn.180020ca0
mov rcx, rax
call fcn.18003d070
mov rdi, rax
mov qword [0x18009e7b0], rax
mov rax, qword [0x180001ef8]
cmp rax, 0x402402
jne 0x18003e338
mov r9d, 0xffffffff
mov dword [rsp + 0x20], ebp
lea r8, [0x18000f658]
lea rdx, [0x18000e050]
lea rcx, [0x18000f690]
call fcn.18003cc70
mov qword [0x180001ef8], rax
mov rcx, rdi
call qword [rax]
mov eax, dword [0x18009e788]
mov rdi, qword [0x18009e7b0]
test al, 1
jne 0x18003e36c
or eax, 1
lea rcx, [0x18000f590]
mov dword [0x18009e788], eax
call fcn.18003f670
mov qword [0x18009e780], rax
jmp 0x18003e373
mov rax, qword [0x18009e780]
lea rdx, [0x18009e7f0]
mov rcx, rdi
call rax
lea rcx, [0x18000f230]
mov qword [0x18009e7b0], rax
call fcn.180021120
mov rsi, qword [0x18009e7b0]
mov rdi, rax
mov rax, qword [0x180001f00]
cmp rax, 0x402402
jne 0x18003e3d6
mov r9d, 0xffffffff
mov dword [rsp + 0x20], ebp
lea r8, [0x18000f658]
lea rdx, [0x18000f6c0]
lea rcx, [0x18000f690]
call fcn.18003cc70
mov qword [0x180001f00], rax
mov rdx, rdi
mov rcx, rsi
call qword [rax]
lea rcx, [rsp + 0x78]
call fcn.1800385d0
call fcn.18003e9f0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180023e40
lea rdx, [0x18000f240]
lea rcx, [0x18000f250]
movups xmm0, xmmword [rax]
movups xmmword [0x18009e708], xmm0
call fcn.180020ca0
test rax, rax
jne 0x18003e421
mov rsi, rbp
jmp 0x18003e43e
mov rcx, rax
call fcn.1800276c0
test rax, rax
jne 0x18003e433
mov rsi, rbp
jmp 0x18003e43e
mov rcx, rax
call fcn.180027800
mov rsi, rax
lea rdx, [0x18000f260]
lea rcx, [0x18000f270]
call fcn.180020ca0
test rax, rax
je 0x18003e46e
mov rcx, rax
call fcn.1800276c0
test rax, rax
je 0x18003e46e
mov rcx, rax
call fcn.180027800
mov rbp, rax
mov rdi, qword [0x18009d9d0]
lea rcx, [0x18000f730]
call fcn.18003f670
lea rcx, [0x18000f280]
mov rbx, rax
call fcn.180021120
mov rdx, rax
mov r8, rsi
mov rcx, rdi
call rbx
mov rdi, qword [0x18009d9d0]
lea rcx, [0x18000f730]
mov rsi, rax
call fcn.18003f670
lea rcx, [0x18000f2a8]
mov rbx, rax
call fcn.180021120
mov rdx, rax
mov r8, rbp
mov rcx, rdi
call rbx
xorps xmm0, xmm0
mov qword [0x18009e728], rax
mov rdx, rsi
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
call fcn.180024ad0
mov ecx, dword [0x18009e7c8]
mov rbx, rax
test cl, 1
jne 0x18003e513
or ecx, 1
mov dword [0x18009e7c8], ecx
lea rcx, [0x18000f1a0]
call fcn.18003f670
mov qword [0x18009e7c0], rax
jmp 0x18003e51a
mov rax, qword [0x18009e7c0]
mov rcx, rbx
call rax
xorps xmm0, xmm0
lea rdx, [0x18000f2e0]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
call fcn.180024850
lea r8, [0x18000f2f0]
mov rcx, rax
lea rdx, [0x18000f300]
call fcn.1800270b0
xorps xmm0, xmm0
mov qword [0x18009e718], rax
lea rdx, [0x18000f310]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
call fcn.180024850
lea r8, [0x18000f320]
mov rcx, rax
lea rdx, [0x18000f32c]
call fcn.1800270b0
mov r13, qword [0x18009e7b0]
mov r12, rax
mov qword [0x18009e720], rax
mov rax, qword [0x180001f18]
cmp rax, 0x402402
jne 0x18003e6be
lea rdx, [0x18000f3b8]
mov qword [rsp + 0x40], r15
lea rcx, [0x18000f3dc]
call fcn.180020ca0
mov r9, qword [0x18009b450]
mov r15, rax
test r9, r9
jne 0x18003e69f
mov rcx, qword gs:[0x60]
mov qword [rsp + 0x48], r14
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rbp, qword [rcx]
mov rsi, rbp
nop
mov r11, qword [rsi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov edi, dword [rax + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x18003e67a
mov r10d, dword [rdi + 0x18]
test r10d, r10d
je 0x18003e67a
mov r14d, dword [rdi + 0x20]
nop word [rax + rax]
dec r10d
mov r9d, 0xc70114cc
lea rax, [r14 + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x18003e675
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x18003e640
cmp r9d, 0xf3f452e3
je 0x18003e707
test r10d, r10d
jne 0x18003e620
mov rax, qword [rsi]
mov rsi, rax
cmp rax, rbp
je 0x18003e690
cmp qword [rax + 0x30], 0
jne 0x18003e5f0
xor r9d, r9d
mov r14, qword [rsp + 0x48]
mov qword [0x18009b450], r9
mov r8d, 0xffffffff
lea rdx, [0x18000f3c8]
mov rcx, r15
call r9
mov r15, qword [rsp + 0x40]
mov qword [0x180001f18], rax
mov r8, r13
mov edx, 0x14
mov rcx, r12
call qword [rax]
movss xmm1, dword [0x18009e714]
movss xmm0, dword [0x18009e710]
call fcn.18003d990
mov r13, qword [rsp + 0x50]
mov al, 1
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x70]
add rsp, 0x60
pop rbx
ret
mov ecx, dword [rdi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov r9d, dword [rcx + rdx*4]
add r9, r11
jmp 0x18003e693
xor al, al
add rsp, 0x60
pop rbx
ret