Function at 0x18001e560
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
xor r13d, r13d
mov r15, rdx
mov r12, rcx
mov qword [rbp - 0x19], r13
mov dword [rbp + 0x77], r13d
mov dword [rbp - 0x29], r13d
lea r14d, [r13 + 1]
mov dword [rbp + 0x7f], r13d
nop dword [rax]
nop word [rax + rax]
mov edx, 0x11
mov r8d, 0x40d14d9a
lea r9d, [rdx + 0x21]
call fcn.180004640
lea rcx, [rbp + 0x7f]
mov r9d, 0xffffffff
mov qword [rsp + 0x30], rcx
lea r8, [rbp - 0x19]
lea rcx, [rbp - 0x29]
mov edx, r14d
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x77]
mov qword [rsp + 0x20], rcx
mov rcx, r12
call rax
test eax, eax
je 0x18001e5fd
cmp eax, 0xea
je 0x18001e5a0
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov qword [rsp + 0x98], rsi
mov rsi, qword [rbp - 0x19]
cmp dword [rbp + 0x77], r14d
jb 0x18001ea02
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0x90], rdi
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsi + 8]
test eax, 0x3fffffff
jne 0x18001e9dd
cmp eax, 0xc0000000
je 0x18001e9dd
mov ecx, 0x7d10
call fcn.180024d78
xor edx, edx
mov r8d, 0x7d10
mov rcx, rax
mov rdi, rax
call fcn.180022ac0
test rdi, rdi
je 0x18001e9dd
mov byte [rbp - 0x11], r13b
mov byte [rbp - 0x10], 4
mov byte [rbp - 0xf], 0x4c
mov byte [rbp - 0xe], 0x72
mov byte [rbp - 0xd], 0x4c
mov byte [rbp - 0xc], 0x3f
mov byte [rbp - 0xb], 0x4c
mov byte [rbp - 0xa], 1
mov byte [rbp - 9], 0x4c
mov byte [rbp - 8], 0xf
mov byte [rbp - 7], 0x4c
mov byte [rbp - 6], 0x7e
mov byte [rbp - 5], 0x4c
mov byte [rbp - 4], 0x4c
mov byte [rbp - 3], 0x4c
movzx eax, byte [rbp - 0x10]
movzx eax, byte [rbp - 0x11]
test al, al
jne 0x18001e711
mov r8, r13
nop word [rax + rax]
movzx ecx, byte [rbp + r8 - 0x10]
mov eax, 0x4c
sub eax, ecx
imul ecx, eax, 0x2d
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 + r8 - 0x10], cl
inc r8
cmp r8, 0xe
jb 0x18001e6c0
mov rbx, qword [rsi]
mov edx, 0xf
mov r8d, 0xcd7328ca
lea r9d, [rdx + 0x42]
call fcn.180004640
lea rdx, [rbp - 0x10]
mov rcx, rbx
call rax
test eax, eax
je 0x18001e9dd
mov byte [rbp - 0x20], r13b
mov byte [rbp - 0x1f], 6
mov byte [rbp - 0x1e], 0x63
mov byte [rbp - 0x1d], 6
mov byte [rbp - 0x1c], 0x63
mov byte [rbp - 0x1b], 0x63
mov byte [rbp - 0x1a], 0x63
movzx eax, byte [rbp - 0x1f]
movzx eax, byte [rbp - 0x20]
test al, al
jne 0x18001e7c5
mov r9, r13
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rbp + r9 - 0x1f]
mov eax, 0x81020409
sub ecx, 0x63
imul r8d, ecx, 0x37
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov eax, 0x81020409
add r8d, 0x7f
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov byte [rbp + r9 - 0x1f], r8b
inc r9
cmp r9, 6
jb 0x18001e770
mov edx, 0xf
mov r8d, 0x3fd9cc6a
lea r9d, [rdx + 0x48]
call fcn.180004640
lea rdx, [rbp - 0x1f]
mov rcx, rdi
call rax
mov edx, 0xf
mov r8d, 0xd1da9915
lea r9d, [rdx + 0x4d]
call fcn.180004640
mov rdx, r12
mov rcx, rdi
call rax
mov byte [rbp - 0x25], r13b
mov byte [rbp - 0x24], 0x4e
mov byte [rbp - 0x23], WSAGetLastError
mov byte [rbp - 0x22], WSAGetLastError
mov byte [rbp - 0x21], WSAGetLastError
movzx eax, byte [rbp - 0x24]
movzx eax, byte [rbp - 0x25]
test al, al
jne 0x18001e884
mov r8, r13
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rbp + r8 - 0x24]
mov eax, WSAGetLastError
sub eax, ecx
lea ecx, [rax + rax*4]
mov eax, 0x81020409
shl ecx, 2
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 + r8 - 0x24], cl
inc r8
cmp r8, 4
jb 0x18001e830
mov edx, 0xf
mov r8d, 0xd1da9915
lea r9d, [rdx + 0x4d]
call fcn.180004640
lea rdx, [rbp - 0x24]
mov rcx, rdi
call rax
mov rbx, qword [rsi]
mov edx, 0xf
mov r8d, 0xd1da9915
lea r9d, [rdx + 0x4d]
call fcn.180004640
mov rdx, rbx
mov rcx, rdi
call rax
mov byte [rbp - 2], r13b
mov byte [rbp - 1], 0x20
mov byte [rbp], 0x13
mov byte [rbp + 1], 0x72
mov byte [rbp + 2], 0x13
mov byte [rbp + 3], 0x7e
mov byte [rbp + 4], 0x13
mov byte [rbp + 5], 0x70
mov byte [rbp + 6], 0x13
mov byte [rbp + 7], 0x5c
mov byte [rbp + 8], 0x13
mov byte [rbp + 9], 0x53
mov byte [rbp + 0xa], 0x13
mov byte [rbp + 0xb], 0x7a
mov byte [rbp + 0xc], 0x13
mov byte [rbp + 0xd], 0x64
mov byte [rbp + 0xe], 0x13
mov byte [rbp + 0xf], 0x56
mov byte [rbp + 0x10], 0x13
mov byte [rbp + 0x11], 0x78
mov byte [rbp + 0x12], 0x13
mov byte [rbp + 0x13], 0x5e
mov byte [rbp + 0x14], 0x13
mov byte [rbp + 0x15], 0x53
mov byte [rbp + 0x16], 0x13
mov byte [rbp + 0x17], 0x5d
mov byte [rbp + 0x18], 0x13
mov byte [rbp + 0x19], 0x7a
mov byte [rbp + 0x1a], 0x13
mov byte [rbp + 0x1b], reloc.WS2_32.dll_WSAGetLastError
mov byte [rbp + 0x1c], 0x13
mov byte [rbp + 0x1d], 0x13
mov byte [rbp + 0x1e], 0x13
movzx eax, byte [rbp - 1]
movzx eax, byte [rbp - 2]
test al, al
jne 0x18001e9b1
mov r8, r13
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rbp + r8 - 1]
mov eax, 0x13
sub eax, ecx
imul ecx, eax, 0x3f
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 + r8 - 1], cl
inc r8
cmp r8, 0x20
jb 0x18001e960
mov rdx, rdi
lea rcx, [rbp - 1]
call fcn.18001b9e0
lea rcx, [rdi + 0x7d00]
mov qword [rcx], r13
mov rax, qword [r15 + 8]
mov qword [rdi + 0x7d08], rax
mov rax, qword [r15 + 8]
mov qword [rax], rdi
mov qword [r15 + 8], rcx
add rsi, 0x18
inc r14d
cmp r14d, dword [rbp + 0x77]
jbe 0x18001e630
mov rsi, qword [rbp - 0x19]
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xd0]
mov edx, 0x11
mov r8d, 0x9223458
lea r9d, [rdx + 0x22]
call fcn.180004640
mov rcx, rsi
call rax
mov rsi, qword [rsp + 0x98]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rbp
ret