Function at 0x140057b40
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
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov rax, qword [0x140181020]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov cl, 0x69
mov qword [rbp + 0xf], r8
movsx ebx, cl
xor eax, eax
mov byte [rbp - 0x29], cl
mov r12, rdx
mov ecx, ebx
mov qword [rbp - 0x31], rdx
mov qword [rbp + 0x17], r9
mov dword [rbp + 7], 0xd070c1a
mov byte [rbp + 0xb], al
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140057b9c
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140057bab
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rbp - 0x25]
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r9d, [rdx + 8]
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 0x140057bd0
mov eax, 4
nop
inc eax
test al, 0xf
jne 0x140057c10
lea edi, [rax + 8]
mov qword [0x140187190], 0
mov edx, edi
call fcn.140052d80
mov qword [0x140187190], rax
mov rbx, rax
test rax, rax
je 0x140057c74
mov dword [0x14018719c], edi
lea rcx, [rbx + 8]
mov dword [0x140187198], 4
lea r9, [rbp - 0x25]
mov dword [rax], edi
mov r8b, 1
mov eax, dword [0x140187198]
mov dword [rbx + 4], eax
mov eax, dword [rbp + 7]
mov dword [rbx + 8], eax
mov edx, dword [0x14018719c]
add edx, 0xfffffff8
call fcn.140052470
mov qword [rbp - 1], rbx
movsx ebx, byte [rbp - 0x29]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140057c94
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140057ca3
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rbp - 0x25]
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r9d, [rdx + 8]
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 0x140057cc1
mov r9d, dword [0x14018719c]
lea r8, [rbp - 0x25]
mov rdx, qword [rbp - 1]
call fcn.1400525a0
mov rbx, rax
test rax, rax
je 0x140057d29
movzx eax, byte [rbp - 0x29]
xor byte [rbx], al
xor byte [rbx + 1], al
xor byte [rbx + 2], al
xor byte [rbx + 3], al
mov byte [rbx + 4], 0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x80], r15
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov eax, 0x5a4d
cmp qword [rsi + 0x60], 0
je 0x140057e1a
nop dword [rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x140057e0f
cmp word [r11], ax
jne 0x140057e1a
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140057e1a
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140057e1a
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
xor r10d, r10d
test edi, edi
je 0x140057e0a
mov ecx, dword [r9]
xor dl, dl
add rcx, r11
cmp byte [rcx], dl
je 0x140057dfe
mov r8, rbx
sub r8, rcx
movzx eax, byte [rcx + r8]
test al, al
je 0x140057dfa
cmp byte [rcx], al
jne 0x140057dfe
inc rcx
mov dl, 1
cmp byte [rcx], 0
jne 0x140057dd2
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x140057e1c
test dl, dl
jne 0x140057de9
inc r10d
add r9, 4
cmp r10d, edi
jb 0x140057dc0
mov eax, 0x5a4d
cmp qword [rsi + 0x60], 0
jne 0x140057d60
xor eax, eax
xor r9d, r9d
lea rdx, [rbp + 0x17]
mov rcx, r12
lea r8d, [r9 + 8]
call rax
cmp eax, 8
je 0x140057e38
xor al, al
jmp 0x14005813f
mov qword [rsp + 0xc0], r13
mov r13, qword [rbp + 0x17]
mov dword [rbp - 0x39], 0
test r13, r13
je 0x140058135
xor eax, eax
nop word [rax + rax]
mov cl, 0x22
mov dword [rbp + 7], 0x464c4751
movsx ebx, cl
sub r13, rax
mov byte [rbp - 0x29], cl
xor eax, eax
mov ecx, ebx
mov byte [rbp + 0xb], al
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140057e8f
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140057e9e
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rbp - 0x25]
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r9d, [rdx + 8]
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 0x140057ec0
mov eax, 4
nop
inc eax
test al, 0xf
jne 0x140057f00
lea edi, [rax + 8]
mov qword [0x140187190], 0
mov edx, edi
call fcn.140052d80
mov qword [0x140187190], rax
mov rbx, rax
test rax, rax
je 0x140057f64
mov dword [0x14018719c], edi
lea rcx, [rbx + 8]
mov dword [0x140187198], 4
lea r9, [rbp - 0x25]
mov dword [rax], edi
mov r8b, 1
mov eax, dword [0x140187198]
mov dword [rbx + 4], eax
mov eax, dword [rbp + 7]
mov dword [rbx + 8], eax
mov edx, dword [0x14018719c]
add edx, 0xfffffff8
call fcn.140052470
mov qword [rbp - 1], rbx
movsx ebx, byte [rbp - 0x29]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140057f84
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140057f93
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rbp - 0x25]
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r9d, [rdx + 8]
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 0x140057fb1
mov r9d, dword [0x14018719c]
lea r8, [rbp - 0x25]
mov rdx, qword [rbp - 1]
call fcn.1400525a0
mov rsi, rax
test rax, rax
je 0x140058019
movzx eax, byte [rbp - 0x29]
xor byte [rsi], al
xor byte [rsi + 1], al
xor byte [rsi + 2], al
xor byte [rsi + 3], al
mov byte [rsi + 4], 0
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
cmp qword [rbx + 0x60], 0
je 0x14005810a
nop dword [rax + rax]
mov r11, qword [rbx + 0x30]
mov rbx, qword [rbx]
test r11, r11
je 0x1400580fb
mov eax, 0x5a4d
cmp word [r11], ax
jne 0x140058169
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140058106
mov ecx, dword [rax + r11 + 0x88]
xor r10d, r10d
test ecx, ecx
je 0x14005816c
mov r15d, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x20]
add r15, r11
mov r12d, dword [rax + 0x24]
add r14, r11
mov edi, dword [rax + 0x18]
add r12, r11
xor r9d, r9d
test edi, edi
je 0x1400580fb
nop dword [rax + rax]
mov eax, dword [r14 + r10*4]
xor dl, dl
add rax, r11
cmp byte [rax], dl
je 0x1400580f0
mov r8, rsi
sub r8, rax
movzx ecx, byte [rax + r8]
test cl, cl
je 0x1400580ec
cmp byte [rax], cl
jne 0x1400580f0
inc rax
mov dl, 1
cmp byte [rax], 0
jne 0x1400580c3
movzx eax, word [r12 + r10*2]
mov r12, qword [rbp - 0x31]
mov r10d, dword [r15 + rax*4]
add r10, r11
jmp 0x14005810d
test dl, dl
jne 0x1400580da
inc r9d
inc r10
cmp r9d, edi
jb 0x1400580b0
cmp qword [rbx + 0x60], 0
jne 0x140058040
mov r12, qword [rbp - 0x31]
xor r10d, r10d
mov rdx, qword [rbp + 0xf]
xor r9d, r9d
mov r8, r13
mov rcx, r12
call r10
mov edi, dword [rbp - 0x39]
mov r13, qword [rbp + 0x17]
add edi, eax
movsxd rax, edi
mov dword [rbp - 0x39], edi
cmp rax, r13
jne 0x140057e60
mov r13, qword [rsp + 0xc0]
mov al, 1
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14012f610
add rsp, 0x90
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor r10d, r10d
mov r12, qword [rbp - 0x31]
jmp 0x14005810d