Function at 0x140020ff0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
mov rax, qword [0x14003e040]
xor rax, rsp
mov qword [rbp + 0x17], rax
xor r13d, r13d
mov r15, rdx
mov r12, rcx
mov qword [rbp - 1], r13
mov dword [rbp + 7], r13d
mov dword [rbp + 0xf], r13d
lea r14d, [r13 + 1]
mov dword [rbp + 0xb], r13d
mov edx, 0x11
mov r8d, 0x40d14d9a
lea r9d, [rdx + 0x21]
call fcn.1400056f0
lea rcx, [rbp + 0xb]
mov r9d, 0xffffffff
mov qword [rsp + 0x30], rcx
lea r8, [rbp - 1]
lea rcx, [rbp + 0xf]
mov edx, r14d
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 7]
mov qword [rsp + 0x20], rcx
mov rcx, r12
call rax
test eax, eax
je 0x140021082
cmp eax, 0xea
je 0x140021031
jmp 0x140021483
mov qword [rsp + 0xb8], rsi
mov rsi, qword [rbp - 1]
cmp dword [rbp + 7], r14d
jb 0x140021462
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0xb0], rdi
nop dword [rax + rax]
mov eax, dword [rsi + 8]
test eax, 0x3fffffff
jne 0x14002143d
cmp eax, 0xc0000000
je 0x14002143d
mov ecx, 0x7d10
call fcn.140027ed0
xor edx, edx
mov r8d, 0x7d10
mov rcx, rax
mov rdi, rax
call fcn.140031670
test rdi, rdi
je 0x14002143d
mov byte [rbp - 0x39], r13b
mov byte [rbp - 0x38], 0xe
mov byte [rbp - 0x37], 0x29
mov byte [rbp - 0x36], 0x57
mov byte [rbp - 0x35], 0x29
mov byte [rbp - 0x34], 0x34
mov byte [rbp - 0x33], 0x29
mov byte [rbp - 0x32], 0x7c
mov byte [rbp - 0x31], 0x29
mov byte [rbp - 0x30], 0x22
mov byte [rbp - 0x2f], 0x29
mov byte [rbp - 0x2e], 0x1c
mov byte [rbp - 0x2d], 0x29
mov byte [rbp - 0x2c], 0x29
mov byte [rbp - 0x2b], 0x29
movzx eax, byte [rbp - 0x38]
movzx eax, byte [rbp - 0x39]
test al, al
jne 0x140021195
mov r9, r13
nop word [rax + rax]
movzx ecx, byte [rbp + r9 - 0x38]
mov eax, 0x81020409
sub ecx, 0x29
imul r8d, ecx, 7
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 - 0x38], r8b
inc r9
cmp r9, 0xe
jb 0x140021140
mov rbx, qword [rsi]
mov edx, 0xf
mov r8d, 0xcd7328ca
lea r9d, [rdx + 0x42]
call fcn.1400056f0
lea rdx, [rbp - 0x38]
mov rcx, rbx
call rax
test eax, eax
je 0x14002143d
mov byte [rbp - 0x41], r13b
mov byte [rbp - 0x40], 0x4c
mov byte [rbp - 0x3f], 0x6a
mov byte [rbp - 0x3e], 0x4c
mov byte [rbp - 0x3d], 0x6a
mov byte [rbp - 0x3c], 0x6a
mov byte [rbp - 0x3b], 0x6a
movzx eax, byte [rbp - 0x40]
movzx eax, byte [rbp - 0x41]
test al, al
jne 0x140021244
mov r8, r13
nop dword [rax + rax]
movzx ecx, byte [rbp + r8 - 0x40]
mov eax, 0x6a
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 - 0x40], cl
inc r8
cmp r8, 6
jb 0x1400211f0
mov edx, 0xf
mov r8d, 0x3fd9cc6a
lea r9d, [rdx + 0x48]
call fcn.1400056f0
lea rdx, [rbp - 0x40]
mov rcx, rdi
call rax
mov edx, 0xf
mov r8d, 0xd1da9915
lea r9d, [rdx + 0x4d]
call fcn.1400056f0
mov rdx, r12
mov rcx, rdi
call rax
mov byte [rbp - 0x49], r13b
mov byte [rbp - 0x48], 0x25
mov byte [rbp - 0x47], 0x1f
mov byte [rbp - 0x46], 0x1f
mov byte [rbp - 0x45], 0x1f
movzx eax, byte [rbp - 0x48]
movzx eax, byte [rbp - 0x49]
test al, al
jne 0x1400212f1
mov r8, r13
movzx ecx, byte [rbp + r8 - 0x48]
mov eax, 0x1f
sub eax, ecx
imul ecx, eax, 0x1b
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 - 0x48], cl
inc r8
cmp r8, 4
jb 0x1400212a0
mov edx, 0xf
mov r8d, 0xd1da9915
lea r9d, [rdx + 0x4d]
call fcn.1400056f0
lea rdx, [rbp - 0x48]
mov rcx, rdi
call rax
mov rbx, qword [rsi]
mov edx, 0xf
mov r8d, 0xd1da9915
lea r9d, [rdx + 0x4d]
call fcn.1400056f0
mov rdx, rbx
mov rcx, rdi
call rax
mov byte [rbp - 0x29], r13b
mov byte [rbp - 0x28], 0x48
mov byte [rbp - 0x27], WSAGetLastError
mov byte [rbp - 0x26], 0x39
mov byte [rbp - 0x25], WSAGetLastError
mov byte [rbp - 0x24], 0x3d
mov byte [rbp - 0x23], WSAGetLastError
mov byte [rbp - 0x22], 0xe
mov byte [rbp - 0x21], WSAGetLastError
mov byte [rbp - 0x20], 0x5c
mov byte [rbp - 0x1f], WSAGetLastError
mov byte [rbp - 0x1e], 0x59
mov byte [rbp - 0x1d], WSAGetLastError
mov byte [rbp - 0x1c], 0x66
mov byte [rbp - 0x1b], WSAGetLastError
mov byte [rbp - 0x1a], 0xa
mov byte [rbp - 0x19], WSAGetLastError
mov byte [rbp - 0x18], 0x5a
mov byte [rbp - 0x17], WSAGetLastError
mov byte [rbp - 0x16], 0x3b
mov byte [rbp - 0x15], WSAGetLastError
mov byte [rbp - 0x14], 8
mov byte [rbp - 0x13], WSAGetLastError
mov byte [rbp - 0x12], 0x59
mov byte [rbp - 0x11], WSAGetLastError
mov byte [rbp - 0x10], 0x32
mov byte [rbp - 0xf], WSAGetLastError
mov byte [rbp - 0xe], 0x66
mov byte [rbp - 0xd], WSAGetLastError
mov byte [rbp - 0xc], 0x38
mov byte [rbp - 0xb], WSAGetLastError
mov byte [rbp - 0xa], WSAGetLastError
mov byte [rbp - 9], WSAGetLastError
movzx eax, byte [rbp - 0x28]
movzx eax, byte [rbp - 0x29]
test al, al
jne 0x140021411
mov r8, r13
movzx ecx, byte [rbp + r8 - 0x28]
mov eax, WSAGetLastError
sub eax, ecx
imul ecx, eax, 0x3e
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 - 0x28], cl
inc r8
cmp r8, 0x20
jb 0x1400213c0
mov rdx, rdi
lea rcx, [rbp - 0x28]
call fcn.14001e5f0
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 + 7]
jbe 0x1400210b0
mov rdi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x100]
mov rsi, qword [rbp - 1]
mov edx, 0x11
mov r8d, 0x9223458
lea r9d, [rdx + 0x22]
call fcn.1400056f0
mov rcx, rsi
call rax
mov rsi, qword [rsp + 0xb8]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140023a60
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rbp
ret