Function at 0x14004c6d0
Capabilities:
Connect socket

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x13e0]
mov eax, 0x14e0
call fcn.1400bfe00
sub rsp, rax
mov qword [rbp + 0x1b0], 0xfffffffffffffffe
mov qword [rsp + 0x1538], rbx
mov rax, qword [0x140104508]
xor rax, rsp
mov qword [rbp + 0x13d0], rax
mov r12, r8
mov qword [rbp - 0x28], r8
mov qword [rsp + 0x48], rdx
mov r15, rcx
mov qword [rbp + 0x1b8], rdx
mov dword [rsp + 0x5c], 1
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf0], xmm0
xor r13d, r13d
mov qword [rbp + 0x100], r13
mov qword [rbp + 0xe0], r13
movdqa xmm0, xmmword [0x1400d3d20]
movdqu xmmword [rbp + 0x1f0], xmm0
mov byte [rbp + 0x1e0], r13b
movdqu xmmword [rbp + 0x1d0], xmm0
mov byte [rbp + 0x1c0], r13b
mov rax, qword [0x140104018]
mov qword [rbp - 0x68], rax
mov qword [rbp + 0x160], rax
mov qword [rbp - 0x80], rax
mov r14, 0xffffffffffffffff
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x38], rax
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x30], rax
mov qword [rbp + 0x210], r13
mov qword [rbp + 0x218], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x200], r13b
mov rax, qword [rcx]
cmp dword [rax - 8], r13d
lea r8d, [r13 + 0x19]
je 0x14004c7cf
mov r8d, dword [rcx + 8]
lea rdx, [0x1400cfab8]
lea rcx, [rbp - 0x80]
call fcn.1400086c0
mov rsi, qword [r12 + 0x28]
cmp dword [rsi - 0xc], 0
jl 0x14004c7f8
mov qword [rsp + 0x68], rsi
lock inc dword [rsi - 0xc]
jmp 0x14004c890
mov rbx, qword [0x140104018]
mov qword [rsp + 0x68], rbx
test rsi, rsi
je 0x14004c815
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r13d, eax
lea rcx, [rbx - 0xc]
cmp dword [rcx], 1
jg 0x14004c824
cmp r13d, dword [rbx - 4]
jle 0x14004c860
cmp rcx, qword [0x140104010]
je 0x14004c84a
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004c83e
call fcn.1400bf5e4
mov rax, qword [0x140104018]
mov qword [rsp + 0x68], rax
mov edx, r13d
lea rcx, [rsp + 0x68]
call fcn.140001970
test eax, eax
je 0x14004c88d
mov rbx, qword [rsp + 0x68]
movsxd rax, r13d
lea rdi, [rax + rax]
lea eax, [r13 + 1]
movsxd rdx, eax
add rdx, rdx
mov r9, rdi
mov r8, rsi
mov rcx, rbx
call fcn.1400029b0
mov dword [rbx - 8], r13d
xor r13d, r13d
mov word [rdi + rbx], r13w
jmp 0x14004c890
xor r13d, r13d
lea r8, [0x1400d2ab8]
lea rdx, [0x1400d4f24]
lea rcx, [rsp + 0x68]
call fcn.14004b8d0
lea r8, [0x1400d4f28]
lea rdx, [0x1400d4f38]
lea rcx, [rsp + 0x68]
call fcn.14004b8d0
mov rbx, qword [rsp + 0x68]
lea rdi, [rbx - 0xc]
cmp dword [rdi], 1
jg 0x14004c8d4
cmp dword [rbx - 4], 0
jge 0x14004c93c
mov rax, qword [rsp + 0x68]
mov esi, dword [rax - 8]
mov ebx, esi
test esi, esi
cmovle ebx, r13d
mov edx, ebx
lea rcx, [rsp + 0x68]
call fcn.140001970
test eax, eax
jne 0x14004c8f9
mov r8, r13
jmp 0x14004c941
lea eax, [rsi + 1]
movsxd r9, eax
add r9, r9
lea r8, [rdi + 0xc]
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rdx
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.1400029b0
mov dword [rbx - 8], esi
cmp rdi, qword [0x140104010]
je 0x14004c93c
mov eax, r14d
lock xadd dword [rdi], eax
sub eax, 1
jg 0x14004c93c
mov rcx, rdi
call fcn.1400bf5e4
mov r8, qword [rsp + 0x68]
lea rdx, [rbp + 0x220]
mov rcx, r15
call fcn.14004f650
nop
mov dword [rsp + 0x58], r13d
mov rcx, qword [r12 + 0x30]
mov rax, qword [r12 + 0x38]
sub rax, rcx
sar rax, 3
test eax, eax
jle 0x14004caf9
xor eax, eax
mov r12d, eax
jmp 0x14004c982
xor eax, eax
mov rsi, qword [r12 + rcx]
cmp dword [rsi - 0xc], 0
jl 0x14004c99a
mov qword [rsp + 0x78], rsi
lock inc dword [rsi - 0xc]
jmp 0x14004ca36
mov rbx, qword [0x140104018]
mov qword [rsp + 0x78], rbx
test rsi, rsi
je 0x14004c9b4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r13d, eax
lea rcx, [rbx - 0xc]
cmp dword [rcx], 1
jg 0x14004c9c5
cmp eax, dword [rbx - 4]
jle 0x14004ca01
cmp rcx, qword [0x140104010]
je 0x14004c9eb
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004c9df
call fcn.1400bf5e4
mov rax, qword [0x140104018]
mov qword [rsp + 0x78], rax
mov edx, r13d
lea rcx, [rsp + 0x78]
call fcn.140001970
test eax, eax
je 0x14004ca31
mov rbx, qword [rsp + 0x78]
movsxd rax, r13d
lea rdi, [rax + rax]
lea eax, [r13 + 1]
movsxd rdx, eax
add rdx, rdx
mov r9, rdi
mov r8, rsi
mov rcx, rbx
call fcn.1400029b0
mov dword [rbx - 8], r13d
xor eax, eax
mov word [rdi + rbx], ax
mov r13d, dword [rsp + 0x58]
jmp 0x14004ca3b
mov r13d, dword [rsp + 0x58]
mov rbx, qword [rsp + 0x78]
lea rsi, [rbx - 0xc]
cmp dword [rsi], 0
jl 0x14004ca55
mov qword [rbp + 0xb8], rbx
lock inc dword [rsi]
mov rbx, qword [rsp + 0x78]
jmp 0x14004ca72
mov rax, qword [0x140104018]
mov qword [rbp + 0xb8], rax
mov rdx, rbx
lea rcx, [rbp + 0xb8]
call fcn.140006470
lea rdx, [rbp + 0x2a8]
mov rdi, qword [rbp + 0xb8]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wstat64i32]
lea rcx, [rdi - 0xc]
test eax, eax
jne 0x14004cb75
cmp rcx, qword [0x140104010]
je 0x14004cab0
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004cab0
call fcn.1400bf5e4
nop
cmp rsi, qword [0x140104010]
je 0x14004cacd
mov eax, r14d
lock xadd dword [rsi], eax
sub eax, 1
jg 0x14004cacd
mov rcx, rsi
call fcn.1400bf5e4
inc r13d
mov dword [rsp + 0x58], r13d
add r12, 8
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax + 0x30]
mov rax, qword [rax + 0x38]
sub rax, rcx
sar rax, 3
cmp r13d, eax
jl 0x14004c980
mov r12, qword [rbp - 0x28]
mov rax, qword [rbp - 0x80]
lea r13, [rax - 0xc]
mov qword [rsp + 0x50], r13
cmp dword [r13], 0
jl 0x14004ceaf
mov qword [rbp - 0x60], rax
lock inc dword [r13]
mov rbx, qword [rbp - 0x60]
mov r9, rbx
mov rsi, qword [rsp + 0x48]
mov r8, qword [rsi]
lea rdx, [0x1400d4f80]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
nop
lea rcx, [rbx - 0xc]
cmp rcx, qword [0x140104010]
je 0x14004cb59
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004cb59
call fcn.1400bf5e4
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0xc], 0
jl 0x14004cf3b
mov qword [rbp - 0x10], rdx
lock inc dword [rdx - 0xc]
jmp 0x14004cf4f
cmp rcx, qword [0x140104010]
je 0x14004cb94
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004cb8f
call fcn.1400bf5e4
mov rbx, qword [rsp + 0x78]
mov r8, rbx
lea rdx, [0x1400d4f48]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
mov rdx, qword [rsp + 0x30]
lea rbx, [rdx - 0xc]
cmp dword [rbx], 0
jl 0x14004cbbf
mov qword [rbp - 0x18], rdx
lock inc dword [rbx]
jmp 0x14004cbd3
mov rax, qword [0x140104018]
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x18]
call fcn.140006470
mov r9b, 1
mov r8d, 1
lea rdx, [rbp - 0x18]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
nop
cmp rsi, qword [0x140104010]
je 0x14004cc08
mov eax, r14d
lock xadd dword [rsi], eax
sub eax, 1
jg 0x14004cc08
mov rcx, rsi
call fcn.1400bf5e4
nop
mov rdx, qword [rbp + 0x238]
cmp rdx, 0x10
jb 0x14004cc4c
inc rdx
mov rcx, qword [rbp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004cc47
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004cc47
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400bf5e4
movdqa xmm0, xmmword [0x1400d3d20]
movdqu xmmword [rbp + 0x230], xmm0
mov byte [rbp + 0x220], 0
mov rcx, qword [rsp + 0x68]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140104010]
je 0x14004cc87
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004cc87
call fcn.1400bf5e4
nop
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x14004cccb
inc rdx
mov rcx, qword [rbp + 0x200]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ccc6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004ccc6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400bf5e4
xor eax, eax
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x218], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x200], al
cmp rbx, qword [0x140104010]
je 0x14004cd03
mov eax, r14d
lock xadd dword [rbx], eax
sub eax, 1
jg 0x14004cd03
mov rcx, rbx
call fcn.1400bf5e4
nop
mov rcx, qword [rbp - 0x70]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140104010]
je 0x14004cd26
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004cd26
call fcn.1400bf5e4
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140104010]
je 0x14004cd4a
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004cd4a
call fcn.1400bf5e4
nop
mov rcx, qword [rbp - 0x80]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140104010]
je 0x14004cd6d
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004cd6d
call fcn.1400bf5e4
nop
mov rcx, qword [rbp + 0x160]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140104010]
je 0x14004cd93
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004cd93
call fcn.1400bf5e4
nop
mov rcx, qword [rbp - 0x68]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140104010]
je 0x14004cdb6
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004cdb6
call fcn.1400bf5e4
nop
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x14004cdfa
inc rdx
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004cdf5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004cdf5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400bf5e4
movdqa xmm0, xmmword [0x1400d3d20]
movdqu xmmword [rbp + 0x1d0], xmm0
mov byte [rbp + 0x1c0], 0
mov rdx, qword [rbp + 0x1f8]
cmp rdx, 0x10
jb 0x14004ce55
inc rdx
mov rcx, qword [rbp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ce50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004ce50
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400bf5e4
movdqa xmm0, xmmword [0x1400d3d20]
movdqu xmmword [rbp + 0x1f0], xmm0
mov byte [rbp + 0x1e0], 0
lea rcx, [rbp + 0xf0]
call fcn.1400018c0
nop
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
add rax, 0xfffffffffffffff4
cmp rax, qword [0x140104010]
je 0x14004cea5
lock xadd dword [rax], r14d
sub r14d, 1
jg 0x14004cea5
mov rcx, qword [rcx]
sub rcx, 0xc
call fcn.1400bf5e4
mov eax, 2
jmp 0x14004f142
mov rbx, qword [0x140104018]
mov qword [rbp - 0x60], rbx
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rsi, eax
lea rcx, [rbx - 0xc]
cmp dword [rcx], 1
jg 0x14004ced5
cmp esi, dword [rbx - 4]
jle 0x14004cf11
cmp rcx, qword [0x140104010]
je 0x14004cefa
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004ceef
call fcn.1400bf5e4
mov rax, qword [0x140104018]
mov qword [rbp - 0x60], rax
mov edx, esi
lea rcx, [rbp - 0x60]
call fcn.140001970
test eax, eax
je 0x14004cb1a
mov rbx, qword [rbp - 0x60]
lea rdi, [rsi + rsi]
lea eax, [rsi + 1]
movsxd rdx, eax
add rdx, rdx
mov r9, rdi
mov r8, qword [rbp - 0x80]
mov rcx, rbx
call fcn.1400029b0
mov dword [rbx - 8], esi
xor eax, eax
mov word [rdi + rbx], ax
jmp 0x14004cb1e
mov rax, qword [0x140104018]
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 0x10]
call fcn.140006470
mov r9b, 1
mov ebx, 1
mov r8d, ebx
lea rdx, [rbp - 0x10]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
xor eax, eax
mov dword [rbp + 0x180], eax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x190], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1a0], xmm1
mov dword [rbp + 0x184], 2
mov dword [rbp + 0x188], ebx
mov dword [rbp + 0x18c], 6
mov rdx, qword [rsi]
lea rcx, [rbp + 0xf0]
call fcn.140031120
mov rbx, rax
mov rdx, qword [rbp - 0x80]
lea rcx, [rbp + 0xf0]
call fcn.140031120
mov rdi, rax
mov rax, qword [0x140105888]
test rax, rax
jne 0x14004cfde
xor ecx, ecx
call fcn.140050230
mov qword [0x140105888], rax
lea r9, [rbp + 0xe0]
lea r8, [rbp + 0x180]
mov rdx, rdi
mov rcx, rbx
call rax
mov ebx, eax
mov ecx, eax
call qword [sym.imp.WS2_32.dll_WSASetLastError]
test ebx, ebx
jne 0x14004eeda
mov rsi, qword [rbp + 0xe0]
test rsi, rsi
je 0x14004d1fc
lea edi, [rbx + 1]
nop dword [rax]
mov rcx, qword [r15 + 0x28]
call fcn.140001fb0
test al, al
jne 0x14004ee93
lea rdx, [0x1400d4fc8]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0xc], 0
jl 0x14004d057
mov qword [rbp - 8], rdx
lock inc dword [rdx - 0xc]
jmp 0x14004d06b
mov rax, qword [0x140104018]
mov qword [rbp - 8], rax
lea rcx, [rbp - 8]
call fcn.140006470
mov r9b, 1
mov r8d, edi
lea rdx, [rbp - 8]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 8]
mov ecx, dword [rsi + 4]
call qword [sym.imp.WS2_32.dll_socket]
mov r13, rax
mov qword [rsp + 0x70], rax
cmp rax, 0xffffffffffffffff
je 0x14004ee1d
mov rax, qword [rsp + 0x50]
mov rcx, qword [rbp - 0x80]
cmp dword [rax], 0
jl 0x14004d0ba
mov qword [rbp - 0x58], rcx
lock inc dword [rax]
jmp 0x14004d150
mov rbx, qword [0x140104018]
mov qword [rbp - 0x58], rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r13, eax
lea rcx, [rbx - 0xc]
cmp dword [rcx], 1
jg 0x14004d0dd
cmp r13d, dword [rbx - 4]
jle 0x14004d116
cmp rcx, qword [0x140104010]
je 0x14004d102
mov edx, r14d
lock xadd dword [rcx], edx
sub edx, 1
jg 0x14004d0f7
call fcn.1400bf5e4
mov rax, qword [0x140104018]
mov qword [rbp - 0x58], rax
mov edx, r13d
lea rcx, [rbp - 0x58]
call fcn.140001970
test eax, eax
je 0x14004d14b
mov rbx, qword [rbp - 0x58]
lea rdi, [r13*2]
lea eax, [r13 + 1]
movsxd rdx, eax
add rdx, rdx
mov r9, rdi
mov r8, qword [rbp - 0x80]
mov rcx, rbx
call fcn.1400029b0
mov dword [rbx - 8], r13d
xor eax, eax
mov word [rdi + rbx], ax
mov r13, qword [rsp + 0x70]
lea edi, [rax + 1]
jmp 0x14004d154
mov r13, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x58]
mov r9, rbx
mov rax, qword [rsp + 0x48]
mov r8, qword [rax]
lea rdx, [0x1400d5020]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
nop
lea rcx, [rbx - 0xc]
cmp rcx, qword [0x140104010]
je 0x14004d18f
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004d18f
call fcn.1400bf5e4
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0xc], 0
jl 0x14004d1a4
mov qword [rbp], rdx
lock inc dword [rdx - 0xc]
jmp 0x14004d1b8
mov rax, qword [0x140104018]
mov qword [rbp], rax
lea rcx, [rbp]
call fcn.140006470
mov r9b, 1
mov r8d, edi
lea rdx, [rbp]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
mov r8d, dword [rsi + 0x10]
mov rdx, qword [rsi + 0x20]
mov rcx, r13
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x14004d22c
mov rcx, r13
call qword [sym.imp.WS2_32.dll_closesocket]
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x14004d020
mov r13, qword [rsp + 0x50]
lea rdx, [0x1400d5070]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0xc], 0
jl 0x14004eea2
mov qword [rbp + 0xa8], rdx
lock inc dword [rdx - 0xc]
jmp 0x14004eebc
lea rdx, [0x1400d50a8]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0xc], 0
jl 0x14004d252
mov qword [rbp + 8], rdx
lock inc dword [rdx - 0xc]
jmp 0x14004d266
mov rax, qword [0x140104018]
mov qword [rbp + 8], rax
lea rcx, [rbp + 8]
call fcn.140006470
mov r9b, 1
mov r8d, 5
lea rdx, [rbp + 8]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
mov rcx, qword [r15 + 0x28]
call fcn.140001fb0
test al, al
je 0x14004d2a1
mov ebx, 2
mov dword [rsp + 0x5c], ebx
mov r13, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
jmp 0x14004eedf
mov rax, qword [0x140104018]
mov qword [rbp - 0x50], rax
lea rsi, [0x1400d50d0]
mov rax, rsi
shr rax, 0x10
test ax, ax
jne 0x14004d2cd
movzx edx, si
lea rcx, [rbp - 0x50]
call fcn.140001ff0
jmp 0x14004d307
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rbx, eax
test eax, eax
je 0x14004d307
mov edx, ebx
lea rcx, [rbp - 0x50]
call fcn.140001970
test eax, eax
je 0x14004d307
mov r9, rbx
add r9, r9
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, rsi
mov rcx, qword [rbp - 0x50]
call fcn.1400029b0
mov r9b, 1
mov r8d, edi
lea rdx, [rbp - 0x50]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
mov dword [rsp + 0x20], 0x1000
lea r9, [rbp + 0x3d0]
xor r8d, r8d
mov rdx, r13
mov rcx, r15
call fcn.14004f1c0
cmp eax, 0xffffffff
jne 0x14004d396
mov r8d, r14d
lea rdx, [0x1400d5140]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0xc], 0
jl 0x14004d365
mov qword [rbp + 0x10], rdx
lock inc dword [rdx - 0xc]
jmp 0x14004d379
mov rax, qword [0x140104018]
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.140006470
lea rdx, [rbp + 0x10]
mov r8d, edi
lea rdx, [rbp + 0x3d0]
mov rcx, r15
call fcn.14004b640
cmp eax, 0xdc
je 0x14004d41f
mov rax, qword [0x140104018]
mov qword [rbp - 0x48], rax
lea rsi, [0x1400d51c8]
mov rax, rsi
shr rax, 0x10
test ax, ax
jne 0x14004d3dc
movzx edx, si
lea rcx, [rbp - 0x48]
call fcn.140001ff0
lea rdx, [rbp - 0x48]
jmp 0x14004d37d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rbx, eax
test eax, eax
je 0x14004d416
mov edx, ebx
lea rcx, [rbp - 0x48]
call fcn.140001970
test eax, eax
je 0x14004d416
mov r9, rbx
add r9, r9
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, rsi
mov rcx, qword [rbp - 0x48]
call fcn.1400029b0
lea rdx, [rbp - 0x48]
jmp 0x14004d37d
lea rdx, [0x1400d5200]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0xc], 0
jl 0x14004d445
mov qword [rbp + 0x18], rdx
lock inc dword [rdx - 0xc]
jmp 0x14004d459
mov rax, qword [0x140104018]
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 0x18]
call fcn.140006470
mov r9b, 1
mov r8d, edi
lea rdx, [rbp + 0x18]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
mov dword [rsp + 0x20], 0x1000
lea r9, [rbp + 0x3d0]
lea r8, [0x1400d5220]
mov rdx, r13
mov rcx, r15
call fcn.14004f1c0
cmp eax, 0xfa
jne 0x14004d537
mov rax, qword [0x140104018]
mov qword [rbp - 0x40], rax
lea rsi, [0x1400d5248]
mov rax, rsi
shr rax, 0x10
test ax, ax
jne 0x14004d4c4
movzx edx, si
lea rcx, [rbp - 0x40]
call fcn.140001ff0
jmp 0x14004d4ff
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rbx, eax
test eax, eax
je 0x14004d4ff
mov edx, ebx
lea rcx, [rbp - 0x40]
call fcn.140001970
test eax, eax
je 0x14004d4ff
mov r9, rbx
add r9, r9
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, rsi
mov rcx, qword [rbp - 0x40]
call fcn.1400029b0
nop
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x30]
call fcn.1400063d0
nop
mov rcx, qword [rbp - 0x40]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140104010]
je 0x14004d530
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004d530
call fcn.1400bf5e4
mov cl, 1
jmp 0x14004d689
lea rdx, [0x1400d5280]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0xc], 0
jl 0x14004d55d
mov qword [rbp + 0x20], rdx
lock inc dword [rdx - 0xc]
jmp 0x14004d571
mov rax, qword [0x140104018]
mov qword [rbp + 0x20], rax
lea rcx, [rbp + 0x20]
call fcn.140006470
mov r9b, 1
mov r8d, edi
lea rdx, [rbp + 0x20]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
mov dword [rsp + 0x20], 0x1000
lea r9, [rbp + 0x3d0]
lea r8, [0x1400d52a0]
mov rdx, r13
mov rcx, r15
call fcn.14004f1c0
cmp eax, 0xfa
je 0x14004d687
mov rax, qword [0x140104018]
mov qword [rbp - 0x38], rax
lea rdi, [0x1400d52c8]
mov rax, rdi
shr rax, 0x10
test ax, ax
jne 0x14004d5dc
movzx edx, di
lea rcx, [rbp - 0x38]
call fcn.140001ff0
jmp 0x14004d617
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rbx, eax
test eax, eax
je 0x14004d617
mov edx, ebx
lea rcx, [rbp - 0x38]
call fcn.140001970
test eax, eax
je 0x14004d617
mov r9, rbx
add r9, r9
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, rdi
mov rcx, qword [rbp - 0x38]
call fcn.1400029b0
nop
lea rdx, [rbp - 0x38]
lea rcx, [rsp + 0x30]
call fcn.1400063d0
nop
mov rcx, qword [rbp - 0x38]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140104010]
je 0x14004d648
mov eax, r14d
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14004d648
call fcn.1400bf5e4
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0xc], 0
jl 0x14004d667
mov qword [rbp + 0x28], rdx
lock inc dword [rdx - 0xc]
xor r8d, r8d
lea rdx, [rbp + 0x28]
jmp 0x14004d380
mov rax, qword [0x140104018]
mov qword [rbp + 0x28], rax
lea rcx, [rbp + 0x28]
call fcn.140006470
xor r8d, r8d
lea rdx, [rbp + 0x28]
jmp 0x14004d380
xor cl, cl
mov rax, qword [r15 + 0x10]
cmp dword [rax - 8], 0
je 0x14004dd89
test cl, cl
jne 0x14004d6e8
lea rdx, [0x1400d5300]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0xc], 0
jl 0x14004d6c1
mov qword [rbp + 0x30], rdx
lock inc dword [rdx - 0xc]
jmp 0x14004d6d5
mov rax, qword [0x140104018]
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0x30]
call fcn.140006470
mov r9b, 1
mov r8d, edi
lea rdx, [rbp + 0x30]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
lea rdx, [0x1400d5358]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0xc], 0
jl 0x14004d70e
mov qword [rbp + 0x38], rdx
lock inc dword [rdx - 0xc]
jmp 0x14004d722
mov rax, qword [0x140104018]
mov qword [rbp + 0x38], rax
lea rcx, [rbp + 0x38]
call fcn.140006470
mov r9b, 1
mov r8d, edi
lea rdx, [rbp + 0x38]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
mov dword [rsp + 0x20], 0x1000
lea r9, [rbp + 0x3d0]
lea r8, [0x1400d5380]
mov rdx, r13
mov rcx, r15
call fcn.14004f1c0
cmp eax, 0x14e
je 0x14004d7d9
mov rax, qword [0x140104018]
mov qword [rbp - 0x30], rax
lea rdi, [0x1400d53a0]
mov rax, rdi
shr rax, 0x10
test ax, ax
jne 0x14004d793
movzx edx, di
lea rcx, [rbp - 0x30]
call fcn.140001ff0
xor r8d, r8d
lea rdx, [rbp - 0x30]
jmp 0x14004d380
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rbx, eax
test eax, eax
je 0x14004d7cd
mov edx, ebx
lea rcx, [rbp - 0x30]
call fcn.140001970
test eax, eax
je 0x14004d7cd
mov r9, rbx
add r9, r9
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, rdi
mov rcx, qword [rbp - 0x30]
call fcn.1400029b0
xor r8d, r8d
lea rdx, [rbp - 0x30]
jmp 0x14004d380
lea rdx, [0x1400d53d8]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
mov rbx, qword [rsp + 0x30]
lea rsi, [rbx - 0xc]
cmp dword [rsi], 0
jl 0x14004d806
mov qword [rbp + 0x40], rbx
lock inc dword [rsi]
mov rbx, qword [rsp + 0x30]
jmp 0x14004d81d
mov rax, qword [0x140104018]
mov qword [rbp + 0x40], rax
mov rdx, rbx
lea rcx, [rbp + 0x40]
call fcn.140006470
mov r9b, 1
mov r8d, edi
lea rdx, [rbp + 0x40]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
mov rdx, qword [r15 + 0x10]
lea rcx, [rbp + 0xf0]
call fcn.140031120
mov r8, r14
inc r8
cmp byte [rax + r8], 0
cmp al, 0
add byte [rbp - 0xa], dh
lea rcx, [0x1400d154c]
mov qword [rsp + 0x20], rcx
mov r9d, 0x4c
mov rdx, rax
lea rcx, [rbp + 0x240]
call fcn.1400495e0
mov rdi, rax
clc
lea rax, [rbp + 0x1e0]
cmp rax, rdi
je 0x14004d8ae
lea rcx, [rbp + 0x1e0]
call fcn.140021020
movups xmm0, xmmword [rdi]
movups xmmword [rbp + 0x1e0], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp + 0x1f0], xmm1
xor eax, eax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], al
mov rdx, qword [rbp + 0x258]
cmp rdx, 0x10
jb 0x14004d8f2
inc rdx
mov rcx, qword [rbp + 0x240]
add byte [rax - 0x75], cl
ror dword [rax - 0x7f], 0xfa
add byte [rax], dl
add byte [rax], al
jb 0x14004d8ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004d8ed
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400bf5e4
mov rcx, qword [rbp + 0x1f0]
mov rdx, qword [rbp + 0x1f8]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x14004d948
lea rax, [rcx + 2]
mov qword [rbp + 0x1f0], rax
lea rdi, [rbp + 0x1e0]
cmp rdx, 0x10
cmovae rdi, qword [rbp + 0x1e0]
add rdi, rcx
mov r8d, 2
lea rdx, [0x1400d154c]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 2], 0
jmp 0x14004d96a
mov eax, 2
mov qword [rsp + 0x20], rax
lea r9, [0x1400d154c]
xor r8d, r8d
mov edx, eax
lea rcx, [rbp + 0x1e0]
call fcn.140020d10
lea rdx, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 0x10
cmovae rdx, qword [rbp + 0x1e0]
lea rcx, [rbp + 0xf0]
lock add byte [rax], al
add al, ch
xor ebx, dword [rdi]
add byte [rax], al
mov rdi, rax
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0x3d0]
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0x20], 0x400
lea r9, [rbp + 0x3d0]
mov r8, rdi
mov rdx, r13
mov rcx, r15
call fcn.14004f1c0
cmp eax, 0x14e
je 0x14004daaa
lea rcx, [0x1400d53f8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rdi, eax
cmp dword [rsi], 1
jg 0x14004d9e6
cmp edi, dword [rbx - 4]
jle 0x14004da24
cmp rsi, qword [0x140104010]
je 0x14004da0f
mov edx, r14d
lock xadd dword [rsi], edx
sub edx, 1
jg 0x14004da03
mov rcx, rsi
call fcn.1400bf5e4
mov rax, qword [0x140104018]
mov qword [rsp + 0x30], rax
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140001970
mov rbx, qword [rsp + 0x30]
test eax, eax
je 0x14004da6d
lea rsi, [rdi + rdi]
lea eax, [rdi + 1]
movsxd r8, eax
add r8, r8
test rsi, rsi
je 0x14004da64
test rbx, rbx
jne 0x14004da49
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
lea edi, [rbx + 0x16]
jmp 0x14004f1a3
mov rcx, rbx
cmp r8, rsi
jb 0x14004f191
mov r8, rsi
lea rdx, [0x1400d53f8]
call sub.VCRUNTIME140.dll_memcpy
mov dword [rbx - 8], edi
xor eax, eax
mov word [rsi + rbx], ax
cmp dword [rbx - 0xc], 0
jl 0x14004da87
mov qword [rbp + 0x48], rbx
lock inc dword [rbx - 0xc]
xor r8d, r8d
lea rdx, [rbp + 0x48]
jmp 0x14004d380
mov rax, qword [0x140104018]
mov qword [rbp + 0x48], rax
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.140006470
xor r8d, r8d
lea rdx, [rbp + 0x48]
jmp 0x14004d380
lea rdx, [0x1400d5420]
lea rcx, [rsp + 0x30]
call fcn.1400086c0
mov rbx, qword [rsp + 0x30]
lea rsi, [rbx - 0xc]
cmp dword [rsi], 0
jl 0x14004dad7
mov qword [rbp + 0x50], rbx
lock inc dword [rsi]
mov rax, qword [0x140104018]
mov qword [rbp + 0x50], rax
mov rdx, rbx
lea rcx, [rbp + 0x50]
call fcn.140006470
mov rax, qword [0x140104018]
mov qword [rbp - 0x20], rax
lea rsi, [0x1400d4fe8]
mov rax, rsi
shr rax, 0x10
test ax, ax
jne 0x14004ee50
movzx edx, si
lea rcx, [rbp - 0x20]
call fcn.140001ff0
lea rdx, [rbp - 0x20]
jmp 0x14004d37d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rbx, eax
test eax, eax
je 0x14004ee8a
mov edx, ebx
lea rcx, [rbp - 0x20]
call fcn.140001970
test eax, eax
je 0x14004ee8a
mov r9, rbx
add r9, r9
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, rsi
mov rcx, qword [rbp - 0x20]
call fcn.1400029b0
lea rdx, [rbp - 0x20]
jmp 0x14004d37d
mov dword [rsp + 0x5c], 2
mov r13, qword [rsp + 0x50]
jmp 0x14004eed5
mov rax, qword [0x140104018]
mov qword [rbp + 0xa8], rax
lea rcx, [rbp + 0xa8]
call fcn.140006470
mov r9b, 1
mov r8d, 5
lea rdx, [rbp + 0xa8]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
xor edx, edx
call sub.VCRUNTIME140.dll_memset
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov edi, 0x22
mov dword [rax], edi
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo]
mov ecx, 0x80070057
call fcn.140001ac0
int3