Function at 0x140123490
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
lea rbp, [rsp - 0x57]
sub rsp, 0xa0
cmp byte [rcx + 0x2c], 0
jne 0x1401234b6
mov dword [rcx + 0x24], 0x2000000
xor al, al
add rsp, 0xa0
pop rbp
ret
cmp qword [rcx + 0x30], 0
je 0x1401234e2
cmp edx, dword [rcx + 0x3c]
jb 0x1401234d4
mov dword [rcx + 0x24], 0x30000
xor al, al
add rsp, 0xa0
pop rbp
ret
mov dword [rcx + 0x38], edx
mov al, 1
add rsp, 0xa0
pop rbp
ret
mov qword [rsp + 0x80], r13
mov r13, qword [rcx + 8]
test r13, r13
je 0x140123869
mov eax, dword [rcx + 0x20]
mov cl, 0x74
add eax, edx
mov qword [rsp + 0xc0], rbx
mov dword [rbp - 0x29], eax
movzx eax, byte [0x14016de80]
xor al, cl
movsx ebx, cl
mov byte [rbp + 0x17], al
movzx eax, byte [0x14016de81]
xor al, cl
mov qword [rsp + 0x98], rsi
mov byte [rbp + 0x18], al
movzx eax, byte [0x14016de82]
xor al, cl
mov byte [rbp - 0x19], cl
mov byte [rbp + 0x19], al
movzx eax, byte [0x14016de83]
xor al, cl
mov qword [rsp + 0x90], rdi
mov byte [rbp + 0x1a], al
movzx eax, byte [0x14016de84]
xor al, cl
mov qword [rsp + 0x78], r14
mov byte [rbp + 0x1b], al
movzx eax, byte [0x14016de85]
xor al, cl
mov byte [rbp + 0x1c], al
movzx eax, byte [0x14016de86]
xor al, cl
mov byte [rbp + 0x1d], al
movzx eax, byte [0x14016de87]
xor al, cl
mov byte [rbp + 0x1e], al
movzx eax, byte [0x14016de88]
xor al, cl
mov byte [rbp + 0x1f], al
movzx eax, byte [0x14016de89]
xor al, cl
mov byte [rbp + 0x20], al
movzx eax, byte [0x14016de8a]
xor al, cl
mov byte [rbp + 0x21], al
movzx eax, byte [0x14016de8b]
xor al, cl
mov byte [rbp + 0x22], al
movzx eax, byte [0x14016de8c]
xor al, cl
mov byte [rbp + 0x23], al
movzx eax, byte [0x14016de8d]
xor al, cl
mov ecx, ebx
mov byte [rbp + 0x24], al
xor eax, eax
mov byte [rbp + 0x25], al
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1401235e9
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1401235f8
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
lea r8, [rbp - 0x15]
mov edi, 8
mov r9d, edi
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor r14d, r14d
mov edx, r14d
nop
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 0x140123620
mov ebx, 0xe
lea r8, [rbp - 0x15]
mov r9d, ebx
lea rdx, [rbp + 0x17]
call fcn.14011c9b0
movsx esi, byte [rbp - 0x19]
mov ecx, esi
mov qword [rbp + 0xf], rax
call fcn.140013f00
add esi, eax
cmp esi, 0xfffffff0
jg 0x14012368c
lea edx, [rbx + 0x76]
call fcn.140128630
cmp esi, 0xffffffb7
jg 0x14012369b
mov edx, 0x9d
call fcn.140128630
imul eax, esi, 0x5bd1e995
lea r8, [rbp - 0x15]
mov edx, r14d
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r9d, ecx, 0x5bd1e995
nop word [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 0x1401236c0
mov r9d, dword [0x140196874]
lea r8, [rbp - 0x15]
mov rdx, qword [rbp + 0xf]
call fcn.14011cb00
mov rsi, rax
test rax, rax
jne 0x14012371a
mov rsi, r14
jmp 0x140123730
movzx ecx, byte [rbp - 0x19]
nop
xor byte [rax], cl
lea rax, [rax + 1]
sub rbx, 1
jne 0x140123720
mov byte [rsi + 0xe], r14b
mov rax, qword gs:[0x60]
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x70], r15
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x60], r14
je 0x1401237f8
mov eax, 0x5a4d
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x14012385d
cmp word [r11], ax
jne 0x1401237f8
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1401237f8
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1401237f8
mov r15d, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add r15, r11
mov r12d, dword [rax + 0x24]
add r9, r11
mov ebx, dword [rax + 0x18]
add r12, r11
mov r10d, r14d
test ebx, ebx
je 0x140123858
nop dword [rax]
mov eax, dword [r9]
xor dl, dl
add rax, r11
cmp byte [rax], dl
je 0x140123848
mov r8, rsi
sub r8, rax
movzx ecx, byte [r8 + rax]
test cl, cl
je 0x140123844
cmp byte [rax], cl
jne 0x140123848
inc rax
mov dl, 1
cmp byte [rax], r14b
jne 0x1401237d2
movsxd rax, r10d
movzx ecx, word [r12 + rax*2]
mov r14d, dword [r15 + rcx*4]
add r14, r11
mov edx, dword [rbp - 0x29]
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
call r14
mov r15, qword [rsp + 0x70]
mov al, 1
mov r14, qword [rsp + 0x78]
mov r12, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xc0]
mov r13, qword [rsp + 0x80]
add rsp, 0xa0
pop rbp
ret
test dl, dl
jne 0x1401237e9
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1401237c0
mov eax, 0x5a4d
cmp qword [rdi + 0x60], r14
jne 0x140123760
jmp 0x1401237f8
mov r13, qword [rsp + 0x80]
xor al, al
mov dword [rcx + 0x24], 0x1000000
add rsp, 0xa0
pop rbp
ret