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

Disassembly:
sub rsp, 0x98
cmp byte [rcx + 0x2c], 0
jne 0x14003032e
mov dword [rcx + 0x24], 0x2000000
xor al, al
add rsp, 0x98
ret
cmp qword [rcx + 0x30], 0
je 0x140030358
cmp edx, dword [rcx + 0x3c]
jb 0x14003034b
mov dword [rcx + 0x24], 0x30000
xor al, al
add rsp, 0x98
ret
mov dword [rcx + 0x38], edx
mov al, 1
add rsp, 0x98
ret
mov qword [rsp + 0x78], r12
mov r12, qword [rcx + 8]
test r12, r12
je 0x140030599
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x70], r13
mov r13d, dword [rcx + 0x20]
lea rcx, [rsp + 0x20]
add r13d, edx
call fcn.140034e60
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140014160
add edi, eax
cmp edi, 0xfffffff0
jg 0x1400303be
mov edx, 0x84
call fcn.140052d80
cmp edi, 0xffffffb7
jg 0x1400303cd
mov edx, 0x9d
call fcn.140052d80
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 esi, esi
mov edx, esi
lea r10d, [rsi + 8]
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 0x1400303f0
mov r9d, dword [0x14018719c]
mov rdx, qword [rbx + 0x28]
call fcn.1400525a0
mov rbp, rax
test rax, rax
jne 0x140030446
mov rbp, rsi
jmp 0x140030463
mov rcx, rbp
mov edx, 0xe
nop
movzx eax, byte [rbx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140030450
mov byte [rbp + 0xe], sil
mov rax, qword gs:[0x60]
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x60], r15
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
cmp qword [rbx + 0x60], rsi
je 0x140030528
mov eax, 0x5a4d
mov r11, qword [rbx + 0x30]
mov rbx, qword [rbx]
test r11, r11
je 0x14003058d
cmp word [r11], ax
jne 0x140030528
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140030528
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140030528
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, esi
test edi, edi
je 0x140030588
nop dword [rax]
mov eax, dword [r10]
xor dl, dl
add rax, r11
cmp byte [rax], dl
je 0x140030578
mov r8, rbp
sub r8, rax
movzx ecx, byte [rax + r8]
test cl, cl
je 0x140030574
cmp byte [rax], cl
jne 0x140030578
inc rax
mov dl, 1
cmp byte [rax], sil
jne 0x140030502
movsxd rax, r9d
movzx ecx, word [r15 + rax*2]
mov esi, dword [r14 + rcx*4]
add rsi, r11
xor r9d, r9d
xor r8d, r8d
mov edx, r13d
mov rcx, r12
call rsi
mov r15, qword [rsp + 0x60]
mov al, 1
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x78]
add rsp, 0x98
ret
test dl, dl
jne 0x140030519
inc r9d
add r10, 4
cmp r9d, edi
jb 0x1400304f0
mov eax, 0x5a4d
cmp qword [rbx + 0x60], rsi
jne 0x140030490
jmp 0x140030528
mov r12, qword [rsp + 0x78]
xor al, al
mov dword [rcx + 0x24], 0x1000000
add rsp, 0x98
ret