Function at 0x140056630
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
sub rsp, 0x90
mov rax, qword [0x140181020]
xor rax, rsp
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x70], 0x9c4000
mov r12, rdx
call fcn.140058610
mov rdi, rax
movsx ebx, byte [rax]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140056683
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140056692
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rdi + 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 0x1400566c0
mov r9d, dword [0x14018719c]
mov rdx, qword [rdi + 0x28]
call fcn.1400525a0
mov rsi, rax
test rax, rax
jne 0x140056720
mov rsi, rbp
jmp 0x14005675f
movzx eax, byte [rdi]
xor byte [rsi], al
movzx eax, byte [rdi]
xor byte [rsi + 1], al
movzx eax, byte [rdi]
xor byte [rsi + 2], al
movzx eax, byte [rdi]
xor byte [rsi + 3], al
movzx eax, byte [rdi]
xor byte [rsi + 4], al
movzx eax, byte [rdi]
xor byte [rsi + 5], al
movzx eax, byte [rdi]
xor byte [rsi + 6], al
movzx eax, byte [rdi]
xor byte [rsi + 7], al
movzx eax, byte [rdi]
xor byte [rsi + 8], al
movzx eax, byte [rdi]
xor byte [rsi + 9], al
mov byte [rsi + 0xa], bpl
mov rax, qword gs:[0x60]
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xd8], r15
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x60], rbp
je 0x14005683c
mov r13d, 0x5a4d
nop dword [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400568a9
cmp word [r11], r13w
jne 0x14005683c
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x14005683c
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x14005683c
mov r14d, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add r14, r11
mov r15d, dword [rax + 0x24]
add r9, r11
mov ebx, dword [rax + 0x18]
add r15, r11
mov r10d, ebp
test ebx, ebx
je 0x1400568a9
nop dword [rax]
mov eax, dword [r9]
xor dl, dl
add rax, r11
cmp byte [rax], dl
je 0x140056899
mov r8, rsi
sub r8, rax
movzx ecx, byte [r8 + rax]
test cl, cl
je 0x140056895
cmp byte [rax], cl
jne 0x140056899
inc rax
mov dl, 1
cmp byte [rax], bpl
jne 0x140056816
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov ebp, dword [r14 + rcx*4]
add rbp, r11
lea r9, [rsp + 0x70]
mov qword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, 0x1002
mov rcx, r12
call rbp
mov r15, qword [rsp + 0xd8]
test eax, eax
mov r14, qword [rsp + 0xd0]
mov r13, qword [rsp + 0xc0]
sete al
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14012f610
add rsp, 0x90
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
test dl, dl
jne 0x14005682d
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x140056800
cmp qword [rdi + 0x60], rbp
jne 0x1400567a0
jmp 0x14005683c