Function at 0x140025d40
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 r12
lea rbp, [rsp - 0x3f]
sub rsp, 0x98
mov rax, qword [0x140188020]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov cl, 0x64
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 word [rbp + 7], 0x117
mov byte [rbp + 9], 0xa
mov word [rbp + 0xa], ax
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140025d9f
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x140025dae
mov edx, 0x9d
call fcn.140128630
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, edx
lea r8, [r8 + 4]
xor eax, r10d
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 0x140025dd0
mov r9d, 4
lea r8, [rbp - 0x25]
lea rdx, [rbp + 7]
call fcn.14011c9b0
movsx ebx, byte [rbp - 0x29]
mov ecx, ebx
mov qword [rbp - 1], rax
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140025e3c
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x140025e4b
mov edx, 0x9d
call fcn.140128630
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, edx
lea r8, [r8 + 4]
xor eax, r10d
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 0x140025e70
mov r9d, dword [0x140196874]
lea r8, [rbp - 0x25]
mov rdx, qword [rbp - 1]
call fcn.14011cb00
mov rbx, rax
test rax, rax
je 0x140025ed8
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 + 0xc0], rdi
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 0x140025fda
nop dword [rax]
nop dword [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x140025fcf
cmp word [r11], ax
jne 0x140025fda
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140025fda
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140025fda
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 0x140025fca
mov ecx, dword [r9]
xor dl, dl
add rcx, r11
cmp byte [rcx], dl
je 0x140025fbe
mov r8, rbx
sub r8, rcx
movzx eax, byte [rcx + r8]
test al, al
je 0x140025fba
cmp byte [rcx], al
jne 0x140025fbe
inc rcx
mov dl, 1
cmp byte [rcx], 0
jne 0x140025f92
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x140025fdc
test dl, dl
jne 0x140025fa9
inc r10d
add r9, 4
cmp r10d, edi
jb 0x140025f80
mov eax, 0x5a4d
cmp qword [rsi + 0x60], 0
jne 0x140025f20
xor eax, eax
xor r9d, r9d
lea rdx, [rbp + 0x17]
mov rcx, r12
lea r8d, [r9 + 8]
call rax
cmp eax, 8
je 0x140025ff8
xor al, al
jmp 0x1400262b2
xor edi, edi
mov qword [rsp + 0x90], r13
mov r13, qword [rbp + 0x17]
mov dword [rbp - 0x39], edi
test r13, r13
je 0x1400262a8
xor eax, eax
nop dword [rax]
nop dword [rax + rax]
mov cl, 4
mov dword [rbp + 7], 0x606a6177
movsx ebx, cl
sub r13, rax
mov byte [rbp - 0x29], cl
xor eax, eax
mov ecx, ebx
mov byte [rbp + 0xb], al
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x14002604f
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x14002605e
mov edx, 0x9d
call fcn.140128630
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 0x140026080
mov r9d, 4
lea r8, [rbp - 0x25]
lea rdx, [rbp + 7]
call fcn.14011c9b0
movsx ebx, byte [rbp - 0x29]
mov ecx, ebx
mov qword [rbp - 1], rax
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400260ec
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400260fb
mov edx, 0x9d
call fcn.140128630
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 0x140026120
mov r9d, dword [0x140196874]
lea r8, [rbp - 0x25]
mov rdx, qword [rbp - 1]
call fcn.14011cb00
mov rsi, rax
test rax, rax
je 0x140026188
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 0x140026280
nop word [rax + rax]
mov r11, qword [rbx + 0x30]
mov rbx, qword [rbx]
test r11, r11
je 0x14002626e
mov eax, 0x5a4d
cmp word [r11], ax
jne 0x1400262e3
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140026279
mov ecx, dword [rax + r11 + 0x88]
xor r10d, r10d
test ecx, ecx
je 0x1400262e6
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 0x14002626e
nop dword [rax + rax]
mov eax, dword [r14 + r10*4]
xor dl, dl
add rax, r11
cmp byte [rax], dl
je 0x140026263
mov r8, rsi
sub r8, rax
movzx ecx, byte [r8 + rax]
test cl, cl
je 0x14002625f
cmp byte [rax], cl
jne 0x140026263
inc rax
mov dl, 1
cmp byte [rax], 0
jne 0x140026233
movzx eax, word [r12 + r10*2]
mov edi, dword [rbp - 0x39]
mov r12, qword [rbp - 0x31]
mov r10d, dword [r15 + rax*4]
add r10, r11
jmp 0x140026283
test dl, dl
jne 0x14002624a
inc r9d
inc r10
cmp r9d, edi
jb 0x140026220
cmp qword [rbx + 0x60], 0
jne 0x1400261b0
mov r12, qword [rbp - 0x31]
mov edi, dword [rbp - 0x39]
xor r10d, r10d
mov rdx, qword [rbp + 0xf]
xor r9d, r9d
mov r8, r13
mov rcx, r12
call r10
mov r13, qword [rbp + 0x17]
add edi, eax
movsxd rax, edi
mov dword [rbp - 0x39], edi
cmp rax, r13
jne 0x140026020
mov r13, qword [rsp + 0x90]
mov al, 1
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xc0]
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14012b8f0
add rsp, 0x98
pop r12
pop rsi
pop rbx
pop rbp
ret
xor r10d, r10d
mov r12, qword [rbp - 0x31]
mov edi, dword [rbp - 0x39]
jmp 0x140026283