Function at 0x140015740
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
mov r14, r8
mov rdi, rdx
mov r8, rcx
mov rbx, rcx
mov rcx, r14
mov rdx, r9
mov rsi, r9
call fcn.14000f400
test eax, eax
jne 0x14001599a
lea edx, [rax + 0xf]
mov r8d, 0x9aab3800
lea r9d, [rax + 0x5d]
call fcn.1400056f0
call rax
mov byte [rbp - 9], 0
mov r8d, eax
mov byte [rbp - 8], 0x52
mov byte [rbp - 7], WSAGetLastError
mov byte [rbp - 6], 0x20
mov byte [rbp - 5], WSAGetLastError
mov byte [rbp - 4], 0x5f
mov byte [rbp - 3], WSAGetLastError
mov byte [rbp - 2], 0x2c
mov byte [rbp - 1], WSAGetLastError
mov byte [rbp], 0x55
mov byte [rbp + 1], WSAGetLastError
mov byte [rbp + 2], 0x62
mov byte [rbp + 3], WSAGetLastError
mov byte [rbp + 4], 0x16
mov byte [rbp + 5], WSAGetLastError
mov byte [rbp + 6], WSAGetLastError
mov byte [rbp + 7], WSAGetLastError
mov byte [rbp + 8], 0x5f
mov byte [rbp + 9], WSAGetLastError
mov byte [rbp + 0xa], 0x62
mov byte [rbp + 0xb], WSAGetLastError
mov byte [rbp + 0xc], 0x64
mov byte [rbp + 0xd], WSAGetLastError
mov byte [rbp + 0xe], WSAGetLastError
mov byte [rbp + 0xf], WSAGetLastError
mov byte [rbp + 0x10], 0x77
mov byte [rbp + 0x11], WSAGetLastError
mov byte [rbp + 0x12], 0x62
mov byte [rbp + 0x13], WSAGetLastError
mov byte [rbp + 0x14], 0x42
mov byte [rbp + 0x15], WSAGetLastError
mov byte [rbp + 0x16], 0x33
mov byte [rbp + 0x17], WSAGetLastError
mov byte [rbp + 0x18], 0x2e
mov byte [rbp + 0x19], WSAGetLastError
mov byte [rbp + 0x1a], 0x62
mov byte [rbp + 0x1b], WSAGetLastError
mov byte [rbp + 0x1c], 0x42
mov byte [rbp + 0x1d], WSAGetLastError
mov byte [rbp + 0x1e], 0x3d
mov byte [rbp + 0x1f], WSAGetLastError
mov byte [rbp + 0x20], 0x38
mov byte [rbp + 0x21], WSAGetLastError
mov byte [rbp + 0x22], WSAGetLastError
mov byte [rbp + 0x23], WSAGetLastError
mov byte [rbp + 0x24], 0x62
mov byte [rbp + 0x25], WSAGetLastError
mov byte [rbp + 0x26], 5
mov byte [rbp + 0x27], WSAGetLastError
mov byte [rbp + 0x28], 2
mov byte [rbp + 0x29], WSAGetLastError
mov byte [rbp + 0x2a], 0x75
mov byte [rbp + 0x2b], WSAGetLastError
mov byte [rbp + 0x2c], 0x62
mov byte [rbp + 0x2d], WSAGetLastError
mov byte [rbp + 0x2e], 0x21
mov byte [rbp + 0x2f], WSAGetLastError
mov byte [rbp + 0x30], WSAGetLastError
mov byte [rbp + 0x31], WSAGetLastError
mov byte [rbp + 0x32], 0x55
mov byte [rbp + 0x33], WSAGetLastError
mov byte [rbp + 0x34], 0x43
mov byte [rbp + 0x35], WSAGetLastError
mov byte [rbp + 0x36], 0x20
mov byte [rbp + 0x37], WSAGetLastError
mov byte [rbp + 0x38], 2
mov byte [rbp + 0x39], WSAGetLastError
mov byte [rbp + 0x3a], 0x55
mov byte [rbp + 0x3b], WSAGetLastError
mov byte [rbp + 0x3c], 0x79
mov byte [rbp + 0x3d], WSAGetLastError
mov byte [rbp + 0x3e], 0x2e
mov byte [rbp + 0x3f], WSAGetLastError
mov byte [rbp + 0x40], 0x2e
mov byte [rbp + 0x41], WSAGetLastError
mov byte [rbp + 0x42], 0x33
mov byte [rbp + 0x43], WSAGetLastError
mov byte [rbp + 0x44], 0x2e
mov byte [rbp + 0x45], WSAGetLastError
mov byte [rbp + 0x46], 0x62
mov byte [rbp + 0x47], WSAGetLastError
mov byte [rbp + 0x48], 0x5c
mov byte [rbp + 0x49], WSAGetLastError
mov byte [rbp + 0x4a], 0x62
mov byte [rbp + 0x4b], WSAGetLastError
mov byte [rbp + 0x4c], 5
mov byte [rbp + 0x4d], WSAGetLastError
mov byte [rbp + 0x4e], 0x38
mov byte [rbp + 0x4f], WSAGetLastError
mov byte [rbp + 0x50], 0x29
mov byte [rbp + 0x51], WSAGetLastError
mov byte [rbp + 0x52], WSAGetLastError
mov byte [rbp + 0x53], WSAGetLastError
movzx eax, byte [rbp - 8]
movzx eax, byte [rbp - 9]
test al, al
jne 0x14001596f
xor edi, edi
nop dword [rax]
movzx ecx, byte [rbp + rdi - 8]
mov eax, WSAGetLastError
sub eax, ecx
imul ecx, eax, 0x1a
mov eax, 0x81020409
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub ecx, eax
mov eax, 0x81020409
add ecx, 0x7f
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub ecx, eax
mov byte [rbp + rdi - 8], cl
inc rdi
cmp rdi, 0x5c
jb 0x140015920
mov rdx, qword [rbx]
lea rcx, [rbp - 8]
call fcn.14001e5f0
xor eax, eax
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
mov rcx, rbx
call fcn.1400105c0
test eax, eax
je 0x14001597b
mov rcx, qword [rbx]
call fcn.140008d60
test eax, eax
je 0x1400159d3
xor r8d, r8d
mov dl, 0x24
mov rcx, rbx
call fcn.14000faf0
test eax, eax
je 0x14001597b
mov rdx, rdi
mov rcx, rbx
call fcn.140014f60
jmp 0x140015a66
mov rcx, qword [rbx]
call fcn.14000d560
test eax, eax
je 0x1400159f7
mov r8b, 0x14
mov dl, 0x25
mov rcx, rbx
call fcn.14000faf0
test eax, eax
je 0x14001597b
mov byte [rsp + 0x20], 0x14
jmp 0x140015a55
mov rax, qword [rbx + 0x10]
cmp rax, 0x100000
jle 0x1400159b2
mov rcx, rbx
cmp rax, 0x500000
jg 0x140015a33
xor r8d, r8d
mov dl, 0x26
call fcn.14000faf0
test eax, eax
je 0x14001597b
mov r9, rsi
mov r8, r14
mov rdx, rdi
mov rcx, rbx
call fcn.140011580
jmp 0x140015a66
movzx r8d, byte [0x14003ea84]
mov dl, 0x25
call fcn.14000faf0
test eax, eax
je 0x14001597b
movzx eax, byte [0x14003ea84]
mov byte [rsp + 0x20], al
mov r9, rsi
mov r8, r14
mov rdx, rdi
mov rcx, rbx
call fcn.140012110
mov esi, eax
test eax, eax
je 0x140015a99
mov rdi, qword [rbx + 8]
mov edx, 0xf
mov r8d, 0xca528872
lea r9d, [rdx + 0x4c]
call fcn.1400056f0
mov rcx, rdi
call rax
mov rcx, qword [rbx]
mov qword [rbx + 8], 0xffffffffffffffff
call fcn.14000ef00
xor eax, eax
lea rdi, [rbx + 0x60]
mov ecx, 0x20
rep stosb byte [rdi], al
lea rdi, [rbx + 0x58]
mov ecx, 8
rep stosb byte [rdi], al
mov rdi, qword [rbx + 8]
cmp rdi, 0xffffffffffffffff
je 0x140015ada
lea edx, [rax + 0xf]
mov r8d, 0xca528872
lea r9d, [rax + 0x5b]
call fcn.1400056f0
mov rcx, rdi
call rax
mov qword [rbx + 8], 0xffffffffffffffff
xor eax, eax
lea rdi, [rbx + 0x80]
mov ecx, 0x20c
rep stosb byte [rdi], al
mov eax, esi
jmp 0x14001597d