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

Disassembly:
push rbp
push r12
push r13
sub rsp, 0xa0
xor r13d, r13d
mov r12, rdx
mov qword [rcx + 0xa8], r13
mov rbp, rcx
mov qword [rcx + 0xb8], r13
mov byte [rcx + 0xb0], r13b
mov qword [rcx + 0x9c], r13
mov dword [rcx + 0x98], r13d
mov dword [rcx + 0xc8], r13d
test rdx, rdx
jne 0x140123cd7
mov eax, 0x10000
add rsp, 0xa0
pop r13
pop r12
pop rbp
ret
movzx eax, byte [0x14016db28]
mov cl, 0x6a
xor al, cl
mov qword [rsp + 0xd0], rbx
mov byte [rsp + 0x70], al
movzx eax, byte [0x14016db29]
xor al, cl
movsx ebx, cl
mov byte [rsp + 0x71], al
movzx eax, byte [0x14016db2a]
xor al, cl
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x72], al
movzx eax, byte [0x14016db2b]
xor al, cl
mov qword [rsp + 0x90], rdi
mov byte [rsp + 0x73], al
movzx eax, byte [0x14016db2c]
xor al, cl
mov byte [rsp + 0x74], al
movzx eax, byte [0x14016db2d]
xor al, cl
mov byte [rsp + 0x75], al
movzx eax, byte [0x14016db2e]
xor al, cl
mov byte [rsp + 0x76], al
movzx eax, byte [0x14016db2f]
xor al, cl
mov byte [rsp + 0x77], al
movzx eax, byte [0x14016db30]
xor al, cl
mov byte [rsp + 0x78], al
movzx eax, byte [0x14016db31]
xor al, cl
mov byte [rsp + 0x79], al
movzx eax, byte [0x14016db32]
xor al, cl
mov ecx, ebx
mov byte [rsp + 0x7a], al
xor eax, eax
mov byte [rsp + 0x7b], al
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140123d9d
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x140123dac
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
lea r8, [rsp + 0x44]
mov edi, 8
mov edx, r13d
mov r9d, edi
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
mov eax, r10d
lea r8, [r8 + 4]
xor eax, edx
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 [r8 - 4], eax
sub r9, 1
jne 0x140123dd0
mov r9d, 0xb
lea r8, [rsp + 0x44]
lea rdx, [rsp + 0x70]
call fcn.14011c9b0
movsx ebx, byte [rsp + 0x40]
mov ecx, ebx
mov qword [rsp + 0x68], rax
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140123e40
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x140123e4f
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
lea r8, [rsp + 0x44]
mov edx, r13d
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r9d, ecx, 0x5bd1e995
nop dword [rax + rax]
mov eax, r9d
lea r8, [r8 + 4]
xor eax, edx
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 [r8 - 4], eax
sub rdi, 1
jne 0x140123e70
mov r9d, dword [0x140196874]
lea r8, [rsp + 0x44]
mov rdx, qword [rsp + 0x68]
call fcn.14011cb00
mov rbx, rax
test rax, rax
jne 0x140123ecc
mov rbx, r13
jmp 0x140123ef5
movzx eax, byte [rsp + 0x40]
xor byte [rbx], al
xor byte [rbx + 1], al
xor byte [rbx + 2], al
xor byte [rbx + 3], al
xor byte [rbx + 4], al
xor byte [rbx + 5], al
xor byte [rbx + 6], al
xor byte [rbx + 7], al
xor byte [rbx + 8], al
xor byte [rbx + 9], al
xor byte [rbx + 0xa], al
mov byte [rbx + 0xb], r13b
mov rax, qword gs:[0x60]
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x80], r15
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x60], r13
je 0x140123fe9
mov eax, 0x5a4d
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x140123fdf
cmp word [r11], ax
jne 0x140123fe9
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140123fe9
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140123fe9
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 esi, dword [rax + 0x18]
add r15, r11
mov r9d, r13d
test esi, esi
je 0x140123fda
mov eax, dword [r10]
xor dl, dl
add rax, r11
cmp byte [rax], dl
je 0x140123fce
mov r8, rbx
sub r8, rax
movzx ecx, byte [rax + r8]
test cl, cl
je 0x140123fca
cmp byte [rax], cl
jne 0x140123fce
inc rax
mov dl, 1
cmp byte [rax], r13b
jne 0x140123fa2
movsxd rax, r9d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x140123fec
test dl, dl
jne 0x140123fb9
inc r9d
add r10, 4
cmp r9d, esi
jb 0x140123f90
mov eax, 0x5a4d
cmp qword [rdi + 0x60], r13
jne 0x140123f30
mov rax, r13
xor r9d, r9d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r13d
mov edx, 0x80000000
mov rcx, r12
mov qword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call rax
mov r15, qword [rsp + 0x80]
mov rbx, rax
mov r14, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x98]
cmp rax, 0xffffffffffffffff
jne 0x140124038
mov eax, 0x200
jmp 0x140124061
xor r8d, r8d
mov rdx, rbx
mov rcx, rbp
call fcn.140124080
mov edi, eax
test eax, eax
je 0x140124058
mov rdx, rbx
call fcn.140128850
mov eax, edi
jmp 0x140124061
mov byte [rbp + 0xb0], 1
xor eax, eax
mov rbx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0x90]
add rsp, 0xa0
pop r13
pop r12
pop rbp
ret