Function at 0x1400215e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c8]
sub rsp, 0x2c8
mov qword [rbp - 8], 0xfffffffffffffffe
mov rax, qword [0x140158280]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
movzx r12d, r9b
mov byte [rsp + 0x21], r9b
mov qword [rbp - 0x18], r8
mov byte [rsp + 0x2c], dl
mov rbx, rcx
mov qword [rbp - 0x60], rcx
mov byte [r8], 0
call fcn.140016610
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x140021650
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbp - 0x68], rax
or rsi, 0xffffffffffffffff
test rbx, rbx
je 0x1400216a0
test rbx, 0xffffffffffff0000
jne 0x140021692
movzx ebx, bx
xor edx, edx
mov ecx, ebx
call fcn.14000f2d0
test rax, rax
je 0x1400216b2
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.14001a150
jmp 0x1400216b2
mov rax, rsi
inc rax
cmp byte [rbx + rax], 0
jne 0x140021695
jmp 0x1400216a2
xor eax, eax
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.140024eb0
nop
call fcn.140016610
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x1400216d1
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x48], rdi
test r12b, r12b
je 0x1400218dd
mov word [rbp + 0x70], 0x3f70
mov dword [rbp + 0x72], 0x3d646975
mov dword [rbp + 0x6b], 0x702e676f
mov word [rbp + 0x68], 0x692f
mov byte [rbp + 0x6a], WSAGetLastError
mov byte [rbp + 0x76], 0
mov byte [rbp + 0x6f], 0x68
call fcn.140016610
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x14002172e
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x68], rbx
lea rcx, [rbp + 0x68]
lea rax, [rbp + 0x68]
mov r13d, 1
test rax, 0xffffffffffff0000
jne 0x140021784
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000f2d0
test rax, rax
je 0x140021877
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14001a150
mov rbx, qword [rsp + 0x68]
jmp 0x140021877
lea rax, [rbp + 0x68]
mov r14, rsi
nop dword [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x140021790
test r14d, r14d
jne 0x1400217ff
lea rdx, [rbx - 0x18]
mov r14, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140021877
cmp dword [rdx + 0x10], 0
jge 0x1400217d6
cmp dword [rbx - 0xc], 0
jge 0x1400217c7
mov ecx, 0x80070057
call fcn.14000f440
int3
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x140021877
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400217e6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x68], rbx
mov rdi, qword [rsp + 0x48]
jmp 0x140021877
mov r12d, dword [rbx - 0x10]
lea r15, [rbp + 0x68]
sub r15, rbx
test r14d, r14d
jns 0x14002181a
mov ecx, 0x80070057
call fcn.14000f440
int3
mov ecx, r13d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r14d
or eax, ecx
jge 0x14002183c
mov edx, r14d
lea rcx, [rsp + 0x68]
call fcn.14001ba70
mov rbx, qword [rsp + 0x68]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
cmp r15, r12
movsxd r12, r14d
mov r9, r12
ja 0x140021859
lea r8, [r15 + rbx]
call fcn.140072b90
jmp 0x140021862
lea r8, [rbp + 0x68]
call fcn.1400707c4
cmp r14d, dword [rbx - 0xc]
jg 0x1400218d2
mov dword [rbx - 0x10], r14d
mov byte [r12 + rbx], 0
movzx r12d, byte [rsp + 0x21]
lea r14, [rbx - 0x18]
add rdi, 0xffffffffffffffe8
cmp r14, rdi
je 0x1400218cd
cmp dword [rdi + 0x10], 0
jl 0x1400218bb
mov rax, qword [rdi]
cmp qword [r14], rax
jne 0x1400218bb
mov rcx, r14
call fcn.140012a20
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x1400218b0
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x1400218cd
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140024eb0
nop
jmp 0x140021abe
mov ecx, 0x80070057
call fcn.14000f440
nop
mov word [rbp + 0x5b], 0x676f
mov word [rbp + 0x5e], 0x6870
mov word [rbp + 0x58], 0x692f
mov dword [rbp + 0x61], 0x3d693f
mov byte [rbp + 0x5a], WSAGetLastError
mov byte [rbp + 0x60], reloc.WS2_32.dll_WSASetLastError
mov byte [rbp + 0x5d], reloc.WLDAP32.dll_Ordinal_46
call fcn.140016610
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x140021921
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x80], rbx
lea rcx, [rbp + 0x58]
lea rax, [rbp + 0x58]
mov r13d, 1
test rax, 0xffffffffffff0000
jne 0x140021974
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000f2d0
test rax, rax
je 0x140021a68
mov r8d, r14d
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.14001a150
mov rbx, qword [rbp - 0x80]
jmp 0x140021a68
lea rax, [rbp + 0x58]
mov r14, rsi
nop dword [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x140021980
test r14d, r14d
jne 0x1400219ee
lea rdx, [rbx - 0x18]
mov r14, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140021a68
cmp dword [rdx + 0x10], 0
jge 0x1400219c6
cmp dword [rbx - 0xc], 0
jge 0x1400219b7
mov ecx, 0x80070057
call fcn.14000f440
int3
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x140021a68
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400219d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x80], rbx
mov rdi, qword [rsp + 0x48]
jmp 0x140021a68
mov r12d, dword [rbx - 0x10]
lea r15, [rbp + 0x58]
sub r15, rbx
test r14d, r14d
jns 0x140021a09
mov ecx, 0x80070057
call fcn.14000f440
int3
mov ecx, r13d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r14d
or eax, ecx
jge 0x140021a29
mov edx, r14d
lea rcx, [rbp - 0x80]
call fcn.14001ba70
mov rbx, qword [rbp - 0x80]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
cmp r15, r12
movsxd r12, r14d
mov r9, r12
ja 0x140021a46
lea r8, [r15 + rbx]
call fcn.140072b90
jmp 0x140021a4f
lea r8, [rbp + 0x58]
call fcn.1400707c4
cmp r14d, dword [rbx - 0xc]
jg 0x140022758
mov dword [rbx - 0x10], r14d
mov byte [r12 + rbx], 0
movzx r12d, byte [rsp + 0x21]
lea r14, [rbx - 0x18]
add rdi, 0xffffffffffffffe8
cmp r14, rdi
je 0x140021abe
cmp dword [rdi + 0x10], 0
jl 0x140021aac
mov rax, qword [rdi]
cmp qword [r14], rax
jne 0x140021aac
mov rcx, r14
call fcn.140012a20
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x140021aa1
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x140021abe
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140024eb0
nop
lock add dword [r14 + 0x10], 0xffffffff
jg 0x140021ad2
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + reloc.WS2_32.dll_htonl]
call fcn.140016610
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x140021af1
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbp - 0x58], rax
call fcn.140016610
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x140021b1e
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x50], rdi
test r12b, r12b
je 0x140021d0f
mov dword [rsp + 0x28], 0x3d6d26
call fcn.140016610
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x140021b5d
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x70], rbx
lea rcx, [rsp + 0x28]
lea rax, [rsp + 0x28]
test rax, 0xffffffffffff0000
jne 0x140021baf
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000f2d0
test rax, rax
je 0x140021ca9
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14001a150
mov rbx, qword [rsp + 0x70]
jmp 0x140021ca9
lea rax, [rsp + 0x28]
mov r14, rsi
nop word [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x140021bc0
test r14d, r14d
jne 0x140021c2f
lea rdx, [rbx - 0x18]
mov r14, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140021ca9
cmp dword [rdx + 0x10], 0
jge 0x140021c06
cmp dword [rbx - 0xc], 0
jge 0x140021bf7
mov ecx, 0x80070057
call fcn.14000f440
int3
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x140021ca9
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140021c16
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x70], rbx
mov rdi, qword [rsp + 0x50]
jmp 0x140021ca9
mov r12d, dword [rbx - 0x10]
lea r15, [rsp + 0x28]
sub r15, rbx
test r14d, r14d
jns 0x140021c4b
mov ecx, 0x80070057
call fcn.14000f440
int3
mov ecx, r13d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r14d
or eax, ecx
jge 0x140021c6d
mov edx, r14d
lea rcx, [rsp + 0x70]
call fcn.14001ba70
mov rbx, qword [rsp + 0x70]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
cmp r15, r12
movsxd r12, r14d
mov r9, r12
ja 0x140021c8a
lea r8, [r15 + rbx]
call fcn.140072b90
jmp 0x140021c94
lea r8, [rsp + 0x28]
call fcn.1400707c4
cmp r14d, dword [rbx - 0xc]
jg 0x140021d04
mov dword [rbx - 0x10], r14d
mov byte [r12 + rbx], 0
movzx r12d, byte [rsp + 0x21]
lea r14, [rbx - 0x18]
add rdi, 0xffffffffffffffe8
cmp r14, rdi
je 0x140021cff
cmp dword [rdi + 0x10], 0
jl 0x140021ced
mov rax, qword [rdi]
cmp qword [r14], rax
jne 0x140021ced
mov rcx, r14
call fcn.140012a20
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x140021ce2
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x50], rax
jmp 0x140021cff
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140024eb0
nop
jmp 0x140021ed3
mov ecx, 0x80070057
call fcn.14000f440
nop
mov dword [rsp + 0x24], 0x3d7026
call fcn.140016610
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x140021d36
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x78], rbx
lea rcx, [rsp + 0x24]
lea rax, [rsp + 0x24]
test rax, 0xffffffffffff0000
jne 0x140021d88
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000f2d0
test rax, rax
je 0x140021e7d
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.14001a150
mov rbx, qword [rsp + 0x78]
jmp 0x140021e7d
lea rax, [rsp + 0x24]
mov r14, rsi
inc r14
cmp byte [rax + r14], 0
jne 0x140021d90
test r14d, r14d
jne 0x140021dff
lea rdx, [rbx - 0x18]
mov r14, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140021e7d
cmp dword [rdx + 0x10], 0
jge 0x140021dd6
cmp dword [rbx - 0xc], 0
jge 0x140021dc7
mov ecx, 0x80070057
call fcn.14000f440
int3
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x140021e7d
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140021de6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x78], rbx
mov rdi, qword [rsp + 0x50]
jmp 0x140021e7d
mov r12d, dword [rbx - 0x10]
lea r15, [rsp + 0x24]
sub r15, rbx
test r14d, r14d
jns 0x140021e1b
mov ecx, 0x80070057
call fcn.14000f440
int3
mov ecx, r13d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r14d
or eax, ecx
jge 0x140021e3d
mov edx, r14d
lea rcx, [rsp + 0x78]
call fcn.14001ba70
mov rbx, qword [rsp + 0x78]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
cmp r15, r12
movsxd r12, r14d
mov r9, r12
ja 0x140021e5a
lea r8, [r15 + rbx]
call fcn.140072b90
jmp 0x140021e64
lea r8, [rsp + 0x24]
call fcn.1400707c4
cmp r14d, dword [rbx - 0xc]
jg 0x14002274d
mov dword [rbx - 0x10], r14d
mov byte [r12 + rbx], 0
movzx r12d, byte [rsp + 0x21]
lea r14, [rbx - 0x18]
add rdi, 0xffffffffffffffe8
cmp r14, rdi
je 0x140021ed3
cmp dword [rdi + 0x10], 0
jl 0x140021ec1
mov rax, qword [rdi]
cmp qword [r14], rax
jne 0x140021ec1
mov rcx, r14
call fcn.140012a20
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x140021eb6
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x50], rax
jmp 0x140021ed3
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140024eb0
nop
lock add dword [r14 + 0x10], 0xffffffff
jg 0x140021ee7
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + reloc.WS2_32.dll_htonl]
call fcn.140016610
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x140021f06
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x60], rdi
test r12b, r12b
je 0x14002210b
mov dword [rbp + 0x4b], 0x78652632
mov word [rbp + 0x49], 0x3d70
mov byte [rbp + 0x48], Ordinal_41
mov word [rbp + 0x4f], 0x3d
call fcn.140016610
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x140021f54
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x78], rbx
lea rcx, [rbp + 0x48]
lea rax, [rbp + 0x48]
test rax, 0xffffffffffff0000
jne 0x140021fa1
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000f2d0
test rax, rax
je 0x140022093
mov r8d, r14d
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.14001a150
mov rbx, qword [rbp - 0x78]
jmp 0x140022093
lea rax, [rbp + 0x48]
mov r14, rsi
nop dword [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x140021fb0
test r14d, r14d
jne 0x14002201e
lea rdx, [rbx - 0x18]
mov r14, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140022093
cmp dword [rdx + 0x10], 0
jge 0x140021ff6
cmp dword [rbx - 0xc], 0
jge 0x140021fe7
mov ecx, 0x80070057
call fcn.14000f440
int3
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x140022093
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140022006
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x78], rbx
mov rdi, qword [rsp + 0x60]
jmp 0x140022093
mov r12d, dword [rbx - 0x10]
lea r15, [rbp + 0x48]
sub r15, rbx
test r14d, r14d
jns 0x140022039
mov ecx, 0x80070057
call fcn.14000f440
int3
sub r13d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r14d
or eax, r13d
jge 0x140022058
mov edx, r14d
lea rcx, [rbp - 0x78]
call fcn.14001ba70
mov rbx, qword [rbp - 0x78]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
cmp r15, r12
movsxd r12, r14d
mov r9, r12
ja 0x140022075
lea r8, [r15 + rbx]
call fcn.140072b90
jmp 0x14002207e
lea r8, [rbp + 0x48]
call fcn.1400707c4
cmp r14d, dword [rbx - 0xc]
jg 0x140022100
mov dword [rbx - 0x10], r14d
mov byte [r12 + rbx], 0
movzx r12d, byte [rsp + 0x21]
lea r14, [rbx - 0x18]
add rdi, 0xffffffffffffffe8
cmp r14, rdi
je 0x1400220e9
cmp dword [rdi + 0x10], 0
jl 0x1400220d7
mov rax, qword [rdi]
cmp qword [r14], rax
jne 0x1400220d7
mov rcx, r14
call fcn.140012a20
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x1400220cc
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x1400220e9
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140024eb0
nop
lock add dword [r14 + 0x10], 0xffffffff
jg 0x14002228e
mov rcx, qword [r14]
mov rdx, r14
jmp 0x140022288
mov ecx, 0x80070057
call fcn.14000f440
nop
mov dword [rbp + 0x42], 0x6526323d
mov word [rbp + 0x40], 0x7826
mov word [rbp + 0x46], 0x3d
call fcn.140016610
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x14002213d
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x58], rbx
lea rcx, [rbp + 0x40]
lea rax, [rbp + 0x40]
test rax, 0xffffffffffff0000
jne 0x14002218b
movzx edi, cx
xor edx, edx
mov ecx, edi
call fcn.14000f2d0
test rax, rax
je 0x14002226a
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14001a150
mov rbx, qword [rsp + 0x58]
jmp 0x14002226a
lea rax, [rbp + 0x40]
mov rdi, rsi
inc rdi
cmp byte [rax + rdi], 0
jne 0x140022192
test edi, edi
jne 0x1400221fa
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14002226a
cmp dword [rdx + 0x10], 0
jge 0x1400221d6
cmp dword [rbx - 0xc], 0
jge 0x1400221c7
mov ecx, 0x80070057
call fcn.14000f440
int3
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x14002226a
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400221e6
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 + 0x58], rbx
jmp 0x14002226a
mov r15d, dword [rbx - 0x10]
lea r14, [rbp + 0x40]
sub r14, rbx
test edi, edi
jns 0x140022214
mov ecx, 0x80070057
call fcn.14000f440
int3
sub r13d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, r13d
jge 0x140022233
mov edx, edi
lea rcx, [rsp + 0x58]
call fcn.14001ba70
mov rbx, qword [rsp + 0x58]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
cmp r14, r15
movsxd r15, edi
mov r9, r15
ja 0x140022250
lea r8, [r14 + rbx]
call fcn.140072b90
jmp 0x140022259
lea r8, [rbp + 0x40]
call fcn.1400707c4
cmp edi, dword [rbx - 0xc]
jg 0x140022742
mov dword [rbx - 0x10], edi
mov byte [r15 + rbx], 0
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x60]
call fcn.14000e3a0
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14002228e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
lea r8, [rbp - 0x68]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x28]
call fcn.14000e870
nop
lea r8, [rsp + 0x50]
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.14000e870
nop
lea r8, str.9f5fb9578b66491e8e35bcb76046e5e5
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.14000e9f0
nop
lea r8, [rsp + 0x60]
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.14000e870
nop
lea rcx, [0x140124df4]
lea r8, [0x140124e0c]
cmp byte [rsp + 0x2c], 0
cmovne r8, rcx
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.14000e9f0
nop
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.14000e3a0
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140022323
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14002233c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140022355
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14002236e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140022386
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
call fcn.140016610
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x1400223a5
mov ecx, 0x80004005
call fcn.14000f440
int3
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbp - 0x50], rax
mov word [rbp + 0x8d], 0x2f3a
mov dword [rbp + 0x90], 0x73257325
mov dword [rbp + 0x88], 0x70747468
mov byte [rbp + 0x8c], reloc.WS2_32.dll_WSAStartup
mov byte [rbp + 0x94], 0
mov byte [rbp + 0x8f], Ordinal_50
movzx edx, r12b
lea rcx, [rbp - 0x48]
call fcn.1400166f0
nop
mov r9, qword [rbp - 0x58]
mov r8, qword [rax]
lea rdx, [rbp + 0x88]
lea rcx, [rbp - 0x50]
call fcn.140013110
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140022423
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
xor edi, edi
mov r14, qword [rbp - 0x50]
mov r15, qword [rbp - 0x60]
xor r13d, r13d
mov byte [rbp + 0xa0], 0
xor edx, edx
mov r8d, 0x103
lea rcx, [rbp + 0xa1]
call fcn.140071640
mov edx, 0x104
lea rcx, [rbp + 0xa0]
call fcn.1400145d0
lea rcx, [rsp + 0x20]
call fcn.14002d950
nop
mov qword [rbp + 0x38], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x30], r13
mov byte [rbp + 0x20], 0
lea rcx, [r14 - 0x18]
call fcn.140012a20
add rax, 0x18
mov qword [rbp - 0x70], rax
mov dword [rbp + 0x7d], 0x64253d
mov dword [rbp + 0x78], 0x6d697426
mov byte [rbp + 0x7c], 0x65
call fcn.1400355c0
mov r8d, eax
lea rdx, [rbp + 0x78]
lea rcx, [rbp - 0x70]
call fcn.14000f170
mov dword [rsp + 0x38], r13d
lea r8, [rsp + 0x38]
mov rbx, qword [rbp - 0x70]
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14002e080
test al, al
jne 0x1400224dd
mov ecx, 0x1f4
call fcn.140037900
jmp 0x140022623
mov qword [rbp + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x10], r13
mov byte [rbp], 0
cmp dword [rsp + 0x38], 0x40000
jge 0x1400225ea
lea r8, [rbp]
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14002e1c0
test al, al
je 0x1400225ea
cmp qword [rbp + 0x10], 0xa
jae 0x1400225ea
lea rdx, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rdx, qword [rbp]
lea rcx, [rsp + 0x40]
call fcn.14000da00
nop
lea rcx, [rsp + 0x40]
call fcn.140025700
mov rcx, rax
call fcn.1400255f0
mov word [rsp + 0x30], 0x3031
mov byte [rsp + 0x32], 0
mov rax, qword [rsp + 0x40]
cmp dword [rax - 0x10], 0
jl 0x14002259c
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1400732bc
mov rcx, rax
test rax, rax
mov rax, qword [rsp + 0x40]
je 0x14002259c
cmp ecx, eax
js 0x14002259c
mov rdx, r15
lea rcx, [rbp - 0x10]
call fcn.14000da00
movzx edx, r12b
mov rcx, rax
call fcn.140022790
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x34], 0x303131
cmp dword [rax - 0x10], 0
jl 0x1400225d2
lea rdx, [rsp + 0x34]
mov rcx, rax
call fcn.1400732bc
mov rcx, rax
test rax, rax
mov rax, qword [rsp + 0x40]
je 0x1400225d2
cmp ecx, eax
jne 0x1400225d2
call fcn.140026680
mov rax, qword [rsp + 0x40]
lea rdx, [rax - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400225e6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rbp - 0x70]
mov eax, dword [rsp + 0x38]
add eax, 0xfffffff0
cmp eax, 0x3fff0
ja 0x140022652
mov ecx, 0x1f4
call fcn.140037900
nop
cmp qword [rbp + 0x18], 0x10
jb 0x140022613
mov rcx, qword [rbp]
call fcn.14006e9f4
mov qword [rbp + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x10], r13
mov byte [rbp], 0
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140022638
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rsp + 0x20]
call fcn.14002d9e0
inc edi
cmp edi, 5
jl 0x140022430
xor dil, dil
jmp 0x1400226a5
mov rax, qword [rbp - 0x18]
mov byte [rax], 1
cmp dword [rsp + 0x38], 0x40000
setg dil
cmp qword [rbp + 0x18], 0x10
jb 0x140022675
mov rcx, qword [rbp]
call fcn.14006e9f4
mov qword [rbp + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x10], r13
mov byte [rbp], 0
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14002269a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rsp + 0x20]
call fcn.14002d9e0
nop
lock add dword [r14 - 8], 0xffffffff
jg 0x1400226bc
mov rcx, qword [r14 - 0x18]
mov rax, qword [rcx]
lea rdx, [r14 - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400226d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400226f0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140022709
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140022723
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rax, qword [rbp - 0x68]
lea rdx, [rax - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14002273c
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.WS2_32.dll_htonl + 8]
movzx eax, dil
jmp 0x140022763
mov ecx, 0x80070057
call fcn.14000f440
nop
mov ecx, 0x80070057
call fcn.14000f440
nop
mov ecx, 0x80070057
call fcn.14000f440
nop
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.14006ed70
add rsp, 0x2c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret