Function at 0x140121060
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using murmur2
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x98
mov rax, qword [0x140188020]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x80], rcx
mov r13, r8
lea rcx, [rsp + 0x20]
mov r12, rdx
call fcn.140127730
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140013f00
add edi, eax
cmp edi, 0xfffffff0
jg 0x1401210b8
mov edx, 0x84
call fcn.140128630
cmp edi, 0xffffffb7
jg 0x1401210c7
mov edx, 0x9d
call fcn.140128630
imul eax, edi, 0x5bd1e995
lea r8, [rbx + 4]
mov r9, r8
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r11d, ecx, 0x5bd1e995
xor ebp, ebp
mov edx, ebp
lea r10d, [rbp + 8]
nop word [rax + rax]
mov eax, edx
lea r9, [r9 + 4]
xor eax, r11d
add edx, 0x5bd1e995
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r9 - 4], eax
sub r10, 1
jne 0x1401210f0
mov r9d, dword [0x140196874]
mov rdx, qword [rbx + 0x28]
call fcn.14011cb00
mov rsi, rax
test rax, rax
jne 0x140121146
mov rsi, rbp
jmp 0x1401211a3
movsx eax, byte [rbx]
mov r8, rbp
movd xmm1, eax
lea rax, [rsi + 0x13]
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
cmp rsi, rbx
ja 0x14012116b
cmp rax, rbx
jae 0x14012117d
movdqu xmm0, xmmword [rsi]
mov r8d, 0x10
pxor xmm0, xmm1
movdqu xmmword [rsi], xmm0
mov edx, 0x14
lea rcx, [r8 + rsi]
sub rdx, r8
nop dword [rax]
movzx eax, byte [rbx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140121190
mov byte [rsi + 0x14], bpl
mov rax, qword gs:[0x60]
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0x90], r15
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
cmp qword [rbx + 0x60], rbp
je 0x14012128e
mov eax, 0x5a4d
nop word [rax + rax]
mov r11, qword [rbx + 0x30]
mov rbx, qword [rbx]
test r11, r11
je 0x140121345
cmp word [r11], ax
jne 0x14012128e
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x14012128e
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x14012128e
mov r14d, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r10d, dword [rax + 0x20]
add r14, r11
mov r15d, dword [rax + 0x24]
add r10, r11
mov edi, dword [rax + 0x18]
add r15, r11
mov r9d, ebp
test edi, edi
je 0x140121340
mov eax, dword [r10]
xor dl, dl
add rax, r11
cmp byte [rax], dl
je 0x140121330
mov r8, rsi
sub r8, rax
nop word [rax + rax]
movzx ecx, byte [rax + r8]
test cl, cl
je 0x140121328
cmp byte [rax], cl
jne 0x140121330
inc rax
mov dl, 1
cmp byte [rax], bpl
jne 0x140121260
movsxd rax, r9d
movzx ecx, word [r15 + rax*2]
mov ebp, dword [r14 + rcx*4]
add rbp, r11
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x80]
call rbp
movzx ecx, word [rsp + 0x70]
movzx eax, word [rsp + 0x72]
sub cx, 0x3c
mov r15, qword [rsp + 0x90]
and ax, 0xf
mov r14, qword [rsp + 0xe8]
shl cx, 4
or cx, ax
movzx eax, word [rsp + 0x76]
and ax, 0x1f
shl cx, 5
or cx, ax
movzx eax, word [rsp + 0x78]
mov word [r12], cx
movzx ecx, word [rsp + 0x7a]
shl ax, 6
and cx, 0x3f
or cx, ax
movzx eax, word [rsp + 0x7c]
add ax, ax
shl cx, 5
and ax, 0x1f
or cx, ax
mov word [r13], cx
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.14012b8f0
add rsp, 0x98
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
test dl, dl
jne 0x14012127f
inc r9d
add r10, 4
cmp r9d, edi
jb 0x140121240
mov eax, 0x5a4d
cmp qword [rbx + 0x60], rbp
jne 0x1401211e0
jmp 0x14012128e