Function at 0x14006b1a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov rsi, qword [rcx]
xor eax, eax
mov dword [rsp + 0x88], eax
mov rdi, rdx
mov dword [rsp + 0x6c], eax
mov rbx, rcx
mov dword [rsp + 0x98], eax
mov byte [rsp + 0x60], al
mov qword [rsp + 0xa0], rsi
mov dword [rsp + 0x8c], 0xffffffff
call fcn.140076f80
test byte [rdi + 0x46], 0x20
mov r14, rax
mov eax, 1
jne 0x14006b21a
xor edx, edx
mov qword [rsp + 0x80], rdx
jmp 0x14006b250
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x80], rcx
test rcx, rcx
je 0x14006b24a
nop dword [rax + rax]
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, 2
je 0x14006b242
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14006b230
mov qword [rsp + 0x80], rcx
movzx eax, word [rcx + 0x5e]
xor edx, edx
movsx r13, word [rdi + 0x3e]
mov ebp, edx
movzx ecx, byte [rsp + 0x150]
mov r12, rdx
mov dword [rsp + 0x74], eax
mov r8d, 2
test r13, r13
jle 0x14006b464
mov r15, rdx
nop dword [rax + rax]
movsx eax, word [rdi + 0x3c]
cmp ebp, eax
je 0x14006b44a
mov rax, qword [rdi + 8]
movzx esi, byte [r15 + rax + 0x28]
test esi, esi
je 0x14006b44a
cmp cl, 0xa
je 0x14006b34e
movzx esi, cl
cmp esi, 5
jne 0x14006b2b9
cmp qword [r15 + rax + 8], 0
cmove esi, r8d
mov ecx, esi
sub ecx, 1
je 0x14006b3b1
sub ecx, 1
je 0x14006b39c
sub ecx, 1
je 0x14006b3b1
cmp ecx, 1
mov dword [rsp + 0x20], edx
mov rcx, r14
je 0x14006b377
mov edi, dword [rsp + 0x138]
xor r9d, r9d
add edi, ebp
lea edx, [r9 + 0x4d]
lea r8d, [rdi + 1]
call fcn.140037d60
mov rdx, qword [rsp + 0x118]
lea r8d, [rdi + 1]
mov rcx, rbx
mov esi, eax
mov rdx, qword [rdx + 8]
mov rdx, qword [r15 + rdx + 8]
call fcn.140052c90
mov ecx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov edx, dword [r14 + 0x3c]
test esi, esi
jns 0x14006b336
lea esi, [rdx - 1]
mov rax, qword [r14]
cmp byte [rax + 0x51], 0
je 0x14006b35f
lea rax, [0x140120b10]
mov dword [rax + 8], edx
jmp 0x14006b434
cmp esi, 0xa
jne 0x14006b2aa
mov esi, r8d
jmp 0x14006b2b9
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x14006b434
mov r8d, dword [rsp + 0x138]
mov edx, 0x4c
mov r9d, dword [rsp + 0x158]
inc r8d
add r8d, ebp
call fcn.140037d60
jmp 0x14006b43c
mov rax, qword [rbx + 0x1c0]
mov rcx, rbx
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
mov r9, qword [rdi + 8]
lea rdx, str._s._s
mov r8, qword [rdi]
mov rcx, qword [rsp + 0xa0]
mov r9, qword [r15 + r9]
call fcn.140019660
mov rdi, rax
mov r9d, esi
mov eax, dword [rsp + 0x138]
mov edx, socket
inc eax
mov r8d, 0x513
add eax, ebp
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.140037d60
or r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, r14
call fcn.1400387d0
mov rax, qword [r14]
mov ecx, dword [r14 + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x14006b421
lea rax, [0x140120b10]
jmp 0x14006b430
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
lea rax, [rax + rcx*8]
mov byte [rax + 3], 1
mov rdi, qword [rsp + 0x118]
movzx ecx, byte [rsp + 0x150]
xor edx, edx
lea r8d, [rdx + 2]
inc ebp
inc r12
add r15, 0x30
cmp r12, r13
jl 0x14006b280
mov rsi, qword [rsp + 0xa0]
mov r13, qword [rdi + 0x30]
mov r12d, dword [rsp + 0x138]
test r13, r13
je 0x14006b622
test dword [rsi + 0x2c], 0x2000
jne 0x14006b622
movzx esi, cl
lea eax, [r12 + 1]
mov dword [rbx + 0x68], eax
cmp cl, 0xa
jne 0x14006b499
mov esi, r8d
cmp dword [r13], 0
mov ebp, edx
mov dword [rsp + 0x70], edx
jle 0x14006b622
mov r12, rdx
nop dword [rax]
mov r15, qword [r14 + 0x30]
movsxd rdi, dword [r15 + 0x78]
lea eax, [rdi + 1]
mov dword [r15 + 0x78], eax
lea eax, [rdi - 1]
test edi, eax
jne 0x14006b4ea
mov rdx, qword [r15 + 0x80]
lea eax, [rdi*2 + 1]
mov rcx, qword [r15]
movsxd r8, eax
shl r8, 2
call fcn.140017ab0
mov qword [r15 + 0x80], rax
mov rcx, qword [r15 + 0x80]
test rcx, rcx
je 0x14006b4fd
mov dword [rcx + rdi*4], 0xffffffff
mov rdx, qword [r13 + 8]
not edi
mov r9d, sendto
mov r8d, edi
mov rcx, rbx
mov rdx, qword [rdx + r12]
call fcn.1400531e0
cmp esi, 4
jne 0x14006b53e
mov r9d, dword [rsp + 0x158]
lea edx, [rsi + 0xa]
xor eax, eax
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.140037d60
jmp 0x14006b5e0
mov rax, qword [r13 + 8]
mov rbp, qword [rax + r12 + 8]
test rbp, rbp
jne 0x14006b557
mov rax, qword [rsp + 0x118]
mov rbp, qword [rax]
mov eax, 2
cmp esi, 5
mov rcx, rbx
cmove esi, eax
call fcn.140076f80
mov r15, rax
cmp esi, 2
jne 0x14006b587
mov rax, qword [rbx + 0x1c0]
mov rcx, rbx
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
xor eax, eax
mov r9d, esi
mov r8d, 0x113
mov dword [rsp + 0x20], eax
mov rcx, r15
lea edx, [rax + 0x16]
call fcn.140037d60
xor r9d, r9d
mov r8, rbp
mov edx, eax
mov rcx, r15
call fcn.1400387d0
mov rax, qword [r15]
mov ecx, dword [r15 + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x14006b5c9
lea rax, [0x140120b10]
jmp 0x14006b5d8
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 8]
lea rax, [rax + rcx*8]
mov ebp, dword [rsp + 0x70]
mov byte [rax + 3], 3
mov r8, qword [r14 + 0x30]
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x14006b5fc
mov eax, dword [r14 + 0x3c]
not edi
movsxd rcx, edi
mov dword [rdx + rcx*4], eax
mov eax, dword [r14 + 0x3c]
inc ebp
dec eax
mov dword [rsp + 0x70], ebp
add r12, 0x28
mov dword [r8 + 0x64], eax
cmp ebp, dword [r13]
jl 0x14006b4b0
mov r12d, dword [rsp + 0x138]
cmp byte [rsp + 0x148], 0
mov edx, 0x4f
je 0x14006b9ef
mov rax, qword [rsp + 0x80]
test rax, rax
jne 0x14006b9ef
mov rdi, qword [r14 + 0x30]
movsxd rsi, dword [rdi + 0x78]
lea eax, [rsi + 1]
mov dword [rdi + 0x78], eax
lea eax, [rsi - 1]
test esi, eax
jne 0x14006b684
mov rdx, qword [rdi + 0x80]
lea eax, [rsi*2 + 1]
mov rcx, qword [rdi]
movsxd r8, eax
shl r8, 2
call fcn.140017ab0
mov qword [rdi + 0x80], rax
mov edx, 0x4f
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x14006b697
mov dword [rcx + rsi*4], 0xffffffff
mov r15, qword [rsp + 0x118]
not esi
movzx ebp, byte [rsp + 0x150]
movzx edi, byte [r15 + 0x47]
cmp bpl, 0xa
je 0x14006b6ba
movzx edi, bpl
jmp 0x14006b6c5
cmp edi, 0xa
mov eax, 2
cmove edi, eax
mov eax, dword [rsp + 0x140]
test eax, eax
je 0x14006b70d
mov r9d, esi
mov dword [rsp + 0x20], eax
mov r8d, r12d
mov rcx, r14
call fcn.140037d60
mov rax, qword [r14]
mov ecx, dword [r14 + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x14006b6fa
lea rax, [0x140120b10]
jmp 0x14006b709
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
lea rax, [rax + rcx*8]
mov byte [rax + 3], 0x90
cmp edi, 5
jne 0x14006b733
cmp bpl, dil
je 0x14006b733
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x14006b733
movzx eax, byte [rcx + 0x62]
sub al, 3
cmp al, 1
jbe 0x14006b78d
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14006b720
mov r13d, dword [rsp + 0x6c]
mov rcx, qword [r14 + 0x30]
movsxd rbp, dword [r14 + 0x3c]
cmp dword [rcx + 0x60], ebp
jg 0x14006b751
mov rcx, r14
call fcn.140037cb0
test eax, eax
jne 0x14006b7ad
inc dword [r14 + 0x3c]
lea rcx, [rbp*2]
mov rax, qword [r14 + 8]
add rcx, rbp
mov edx, dword [rsp + 0x128]
xor r9d, r9d
mov word [rax + rcx*8], 0x49
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x14006b7b0
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0xe]
call fcn.140037d60
mov r13d, eax
mov dword [rsp + 0x6c], eax
jmp 0x14006b738
xor r9d, r9d
test edi, edi
je 0x14006b94b
cmp edi, 3
jbe 0x14006b950
cmp edi, 4
je 0x14006b92d
cmp edi, 5
jne 0x14006b94b
mov rax, qword [rsp + 0xa0]
mov rbp, r9
test dword [rax + 0x2c], 0x40000
je 0x14006b835
mov rax, qword [rbx]
mov edi, r9d
mov r8, r9
test dword [rax + 0x2c], 0x800000
je 0x14006b80a
mov rdx, r15
mov rcx, rbx
call fcn.14007e340
mov r8, rax
xor r9d, r9d
mov rdx, r8
test r8, r8
je 0x14006b827
cmp byte [rdx + 0x10], 0x6d
jne 0x14006b81e
movzx ecx, byte [rdx + 0x11]
or edi, ecx
mov rdx, qword [rdx + 0x40]
test rdx, rdx
jne 0x14006b812
test edi, edi
mov rbp, r9
cmovne rbp, r8
test rbp, rbp
jne 0x14006b870
mov rax, qword [rbx]
test dword [rax + 0x2c], 0x80000
je 0x14006b8dc
mov rcx, qword [r15 + 0x68]
lea r8, [rsp + 0x9c]
mov rdx, qword [r15]
add rcx, 0x50
call fcn.14001bbf0
test rax, rax
je 0x14006b869
cmp qword [rax + 0x10], 0
jne 0x14006b870
cmp qword [r15 + 0x20], 0
je 0x14006b8d9
mov rax, qword [rbx + 0x1c0]
mov rcx, rbx
mov r9d, dword [rsp + 0x130]
test rax, rax
mov edi, 1
mov r8, rbp
cmovne rcx, rax
mov rdx, r15
or eax, 0xffffffff
mov dword [rsp + 0x50], eax
mov byte [rsp + 0x48], 1
mov byte [rsp + 0x40], 5
mov byte [rsp + 0x38], 0
mov word [rsp + 0x30], di
mov byte [rcx + 0x20], 1
mov rcx, rbx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r9d
mov r9d, dword [rsp + 0x128]
call fcn.1400624b0
mov dword [rsp + 0x88], edi
jmp 0x14006b95d
xor r9d, r9d
cmp qword [r15 + 0x10], 0
je 0x14006b91f
mov rax, qword [rbx + 0x1c0]
mov rcx, rbx
mov r8d, dword [rsp + 0x128]
test rax, rax
mov rdx, r15
cmovne rcx, rax
or eax, 0xffffffff
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r9
mov r9d, dword [rsp + 0x130]
mov byte [rcx + 0x20], 1
mov rcx, rbx
call fcn.140062950
mov edi, 1
mov dword [rsp + 0x88], edi
jmp 0x14006b95d
xor r8d, r8d
mov dword [rsp + 0x20], r9d
mov r9d, dword [rsp + 0x158]
mov rcx, r14
lea edx, [r8 + 0xe]
call fcn.140037d60
jmp 0x14006b95d
mov edi, 2
mov r8, r15
mov edx, edi
mov rcx, rbx
call fcn.14005fe30
mov r8, qword [r14 + 0x30]
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x14006b979
mov eax, dword [r14 + 0x3c]
not esi
movsxd rcx, esi
mov dword [rdx + rcx*4], eax
mov eax, dword [r14 + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
test r13d, r13d
je 0x14006b9f7
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0xe]
call fcn.140037d60
mov edx, dword [r14 + 0x3c]
mov rcx, qword [r14 + 0x30]
dec edx
mov dword [rsp + 0x98], eax
mov dword [rcx + 0x64], edx
mov edx, r13d
mov r8d, dword [r14 + 0x3c]
test r13d, r13d
jns 0x14006b9c3
lea edx, [r8 - 1]
mov rcx, qword [r14]
cmp byte [rcx + 0x51], 0
je 0x14006b9d9
lea rax, [0x140120b10]
mov dword [rax + 8], r8d
jmp 0x14006b9f7
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
mov dword [rax + rcx*8 + 8], r8d
lea rax, [rax + rcx*8]
jmp 0x14006b9f7
mov r15, qword [rsp + 0x118]
mov r13, qword [r15 + 0x10]
xor r11d, r11d
mov dword [rsp + 0x70], r11d
mov edi, r11d
mov qword [rsp + 0xb8], r13
test r13, r13
je 0x14006c4d1
mov rax, qword [rsp + 0x120]
mov esi, r11d
mov qword [rsp + 0xa8], r11
nop word [rax + rax]
cmp dword [rax + rsi*4], 0
je 0x14006c49c
cmp byte [rsp + 0x60], 0
jne 0x14006ba56
lea r8d, [r12 + 1]
mov rdx, r15
mov rcx, r14
call fcn.140069480
mov byte [rsp + 0x60], 1
mov r15d, dword [rsp + 0x130]
add r15d, edi
mov rdi, qword [r14 + 0x30]
mov dword [rsp + 0x7c], r15d
movsxd rbp, dword [rdi + 0x78]
lea eax, [rbp + 1]
mov dword [rdi + 0x78], eax
lea eax, [rbp - 1]
test ebp, eax
jne 0x14006ba9f
mov rdx, qword [rdi + 0x80]
lea eax, [rbp*2 + 1]
mov rcx, qword [rdi]
movsxd r8, eax
shl r8, 2
call fcn.140017ab0
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x14006bab1
or edx, 0xffffffff
mov dword [rcx + rbp*4], edx
cmp qword [r13 + 0x48], 0
not ebp
mov dword [rsp + 0x68], ebp
je 0x14006bb2b
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r14
mov rax, qword [rsp + 0x120]
lea edx, [r8 + 0x1a]
mov r9d, dword [rax + rsi*4]
call fcn.140037d60
mov rdi, qword [rbx]
lea eax, [r12 + 1]
mov dword [rbx + 0x68], eax
xor r9d, r9d
mov rdx, qword [r13 + 0x48]
xor r8d, r8d
mov rcx, rdi
call fcn.14004ea80
cmp byte [rdi + 0x51], 0
mov rsi, rax
jne 0x14006bb19
mov r9d, sendto
mov r8d, ebp
mov rdx, rax
mov rcx, rbx
call fcn.140053640
mov rdx, rsi
mov rcx, rdi
call fcn.14004e850
xor ebp, ebp
mov dword [rbx + 0x68], ebp
jmp 0x14006bb2d
xor ebp, ebp
movzx ecx, word [r13 + 0x60]
mov edx, dword [rbx + 0x44]
mov r12d, dword [rbx + 0x48]
mov dword [rsp + 0x64], r12d
cmp ecx, edx
jg 0x14006bb50
lea eax, [rcx + r12]
sub edx, ecx
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], edx
jmp 0x14006bb61
mov eax, dword [rbx + 0x54]
lea r12d, [rax + 1]
add eax, ecx
mov dword [rbx + 0x54], eax
mov dword [rsp + 0x64], r12d
cmp bp, word [r13 + 0x60]
jae 0x14006bc81
mov edi, r12d
mov r15, rbp
neg r12d
mov rsi, rbp
nop dword [rax + rax]
mov rax, qword [r13 + 8]
movsx ecx, word [rsi + rax]
cmp ecx, 0xfffffffe
jne 0x14006bc01
mov eax, dword [rsp + 0x138]
inc eax
mov dword [rbx + 0x68], eax
mov rax, qword [r13 + 0x50]
mov rcx, qword [rax + 8]
mov rdx, qword [r15 + rcx]
test rdx, rdx
je 0x14006bbd0
cmp byte [rdx], 0x9f
jne 0x14006bbd0
mov r8d, dword [rdx + 0x2c]
mov r9d, edi
mov rcx, qword [rbx + 0x10]
mov edx, 0x1f
mov dword [rsp + 0x20], ebp
call fcn.140037d60
mov dword [rbx + 0x68], ebp
jmp 0x14006bc61
mov r8d, edi
mov rcx, rbx
call fcn.140051900
cmp eax, edi
je 0x14006bbfc
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14006bbfc
mov r8d, eax
mov dword [rsp + 0x20], ebp
mov edx, 0x20
mov r9d, edi
call fcn.140037d60
mov dword [rbx + 0x68], ebp
jmp 0x14006bc61
cmp ecx, 0xffffffff
je 0x14006bc26
mov rax, qword [rsp + 0x118]
movsx eax, word [rax + 0x3c]
cmp ecx, eax
je 0x14006bc26
mov r8d, dword [rsp + 0x138]
inc r8d
add r8d, ecx
jmp 0x14006bc4d
cmp dword [rsp + 0x8c], edi
je 0x14006bc61
cmp qword [r13 + 0x48], 0
mov eax, edi
mov r8d, dword [rsp + 0x138]
mov ecx, 0xffffffff
cmovne eax, ecx
mov dword [rsp + 0x8c], eax
mov r9d, edi
mov dword [rsp + 0x20], ebp
mov edx, 0x20
mov rcx, r14
call fcn.140037d60
movzx eax, word [r13 + 0x60]
inc edi
add rsi, 2
add r15, 0x28
lea ecx, [r12 + rdi]
cmp ecx, eax
jl 0x14006bb80
mov r15d, dword [rsp + 0x7c]
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x120]
movsxd rdi, dword [r14 + 0x3c]
movzx ebp, word [r13 + 0x60]
mov esi, dword [rcx + rax*4]
mov rax, qword [r14 + 0x30]
cmp dword [rax + 0x60], edi
jg 0x14006bcb2
mov rcx, r14
call fcn.140037cb0
test eax, eax
jne 0x14006bce3
inc dword [r14 + 0x3c]
lea rcx, [rdi + rdi*2]
mov rax, qword [r14 + 8]
xor r11d, r11d
mov edi, dword [rsp + 0x64]
mov word [rax + rcx*8], 0x31
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r11
jmp 0x14006bcea
mov edi, dword [rsp + 0x64]
xor r11d, r11d
movzx eax, word [r13 + 0x60]
lea r9d, [rdi - 1]
add r9d, eax
lea rcx, [rbx + 0x94]
mov r8d, 0xa
mov edx, dword [rcx]
cmp edx, edi
jl 0x14006bd2d
cmp edx, r9d
jg 0x14006bd2d
cmp byte [rcx - 6], 0
je 0x14006bd2a
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x14006bd26
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r11d
add rcx, 0x14
sub r8, 1
jne 0x14006bd03
mov r12, qword [rsp + 0x80]
cmp dword [rsp + 0x140], r8d
je 0x14006bd8f
cmp r12, r13
jne 0x14006bd8f
cmp byte [rsp + 0x148], r8b
jne 0x14006bd8f
mov r8, qword [r14 + 0x30]
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x14006bd78
mov eax, dword [rsp + 0x68]
not eax
movsxd rcx, eax
mov eax, dword [r14 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r14 + 0x3c]
mov r15, qword [rsp + 0x118]
dec eax
mov dword [r8 + 0x64], eax
jmp 0x14006c494
movzx ebp, byte [r13 + 0x62]
test ebp, ebp
jne 0x14006be2f
movzx r10d, word [r13 + 0x60]
lea r9d, [rdi - 1]
add r9d, r10d
lea rcx, [rbx + 0x94]
lea r8d, [rbp + 0xa]
mov edx, dword [rcx]
cmp edx, edi
jl 0x14006bddd
cmp edx, r9d
jg 0x14006bddd
cmp byte [rcx - 6], 0
je 0x14006bdda
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x14006bdd6
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r11d
add rcx, 0x14
sub r8, 1
jne 0x14006bdb3
cmp r10d, dword [rbx + 0x44]
jle 0x14006bdf4
mov dword [rbx + 0x44], r10d
mov dword [rbx + 0x48], edi
mov r8, qword [r14 + 0x30]
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x14006bd78
mov eax, dword [rsp + 0x68]
mov r15, qword [rsp + 0x118]
not eax
movsxd rcx, eax
mov eax, dword [r14 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r14 + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
jmp 0x14006c494
movzx eax, byte [rsp + 0x150]
cmp al, 0xa
je 0x14006be40
movzx ebp, al
jmp 0x14006be4b
cmp ebp, 0xa
mov eax, 2
cmove ebp, eax
mov r9d, dword [rsp + 0x68]
mov r8d, r15d
movzx esi, word [r13 + 0x5e]
mov edx, 0x44
mov rcx, r14
mov dword [rsp + 0x94], ebp
mov dword [rsp + 0x20], edi
call fcn.140037d60
mov r8, qword [r14 + 8]
mov rcx, qword [r14]
test r8, r8
je 0x14006beb9
cmp byte [rcx + 0x51], 0
jne 0x14006beb9
test eax, eax
jns 0x14006be8c
mov eax, dword [r14 + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.1400384b0
xor r8d, r8d
mov byte [rdi + 1], 0xf2
mov qword [rdi + 0x10], r8
mov dword [rdi + 0x10], esi
mov edi, dword [rsp + 0x64]
jmp 0x14006bec9
mov r8, rsi
mov edx, 0xfffffff2
call fcn.1400384b0
xor r8d, r8d
cmp r13, r12
jne 0x14006bed7
mov r12d, edi
mov dword [rsp + 0x78], edi
jmp 0x14006bf0a
mov ecx, dword [rbx + 0x44]
mov edx, dword [rsp + 0x74]
mov r12d, dword [rbx + 0x48]
mov dword [rsp + 0x78], r12d
cmp edx, ecx
jg 0x14006bef9
lea eax, [r12 + rdx]
sub ecx, edx
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], ecx
jmp 0x14006bf0a
mov eax, dword [rbx + 0x54]
lea r12d, [rax + 1]
add eax, edx
mov dword [rbx + 0x54], eax
mov dword [rsp + 0x78], r12d
mov edi, dword [rsp + 0x140]
test edi, edi
jne 0x14006bf1e
cmp ebp, 5
jne 0x14006bfc8
mov rax, qword [rsp + 0x118]
test byte [rax + 0x46], 0x20
jne 0x14006c023
mov dword [rsp + 0x20], r8d
mov r9d, r12d
mov r8d, r15d
mov edx, WSACleanup
mov rcx, r14
call fcn.140037d60
test edi, edi
je 0x14006bfc8
mov rax, qword [r14 + 0x30]
movsxd rdi, dword [r14 + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x14006bf65
mov rcx, r14
call fcn.140037cb0
test eax, eax
jne 0x14006bf9d
mov rax, qword [r14 + 8]
lea rcx, [rdi + rdi*2]
inc dword [r14 + 0x3c]
mov edx, dword [rsp + 0x68]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rsp + 0x140]
mov dword [rax + rcx*8 + 0xc], edx
mov word [rax + rcx*8], 0x4f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 0x10], 0
mov rax, qword [r14]
mov ecx, dword [r14 + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x14006bfb5
lea rax, [0x140120b10]
jmp 0x14006bfc4
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
lea rax, [rax + rcx*8]
mov byte [rax + 3], 0x90
mov esi, dword [rsp + 0x64]
mov ebp, dword [rsp + 0x68]
mov edx, dword [rsp + 0x94]
test edx, edx
je 0x14006c2d3
cmp edx, 3
jbe 0x14006c2b2
cmp edx, 4
jne 0x14006c2d3
mov r9d, dword [rsp + 0x158]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0xe]
call fcn.140037d60
mov edi, dword [rsp + 0x78]
mov r15, qword [rsp + 0x118]
mov r12d, dword [rsp + 0x74]
jmp 0x14006c3b2
mov r15, qword [rsp + 0x80]
cmp r13, r15
je 0x14006c105
mov ebp, r8d
cmp r8w, word [r15 + 0x5e]
jae 0x14006c105
mov ebx, dword [rsp + 0x7c]
mov r15, r8
nop dword [rax]
movzx edx, word [r13 + 0x60]
mov ecx, r8d
test edx, edx
jle 0x14006c081
mov rax, qword [rsp + 0x80]
mov r8, qword [r13 + 8]
mov rax, qword [rax + 8]
movzx r9d, word [r15 + rax]
movsxd rax, ecx
cmp r9w, word [r8 + rax*2]
je 0x14006c084
inc ecx
cmp ecx, edx
jl 0x14006c071
or ecx, 0xffffffff
mov rax, qword [r14 + 0x30]
movsxd rdi, dword [r14 + 0x3c]
movsx esi, cx
cmp dword [rax + 0x60], edi
jg 0x14006c0a0
mov rcx, r14
call fcn.140037cb0
test eax, eax
jne 0x14006c0d1
mov rax, qword [r14 + 8]
lea rcx, [rdi + rdi*2]
inc dword [r14 + 0x3c]
xor r8d, r8d
mov word [rax + rcx*8], 0x2f
mov byte [rax + rcx*8 + 3], 0
lea rdx, [rax + rcx*8]
lea eax, [r12 + rbp]
mov dword [rdx + 4], ebx
mov dword [rdx + 0xc], eax
mov dword [rdx + 8], esi
mov qword [rdx + 0x10], r8
jmp 0x14006c0d4
xor r8d, r8d
mov rax, qword [rsp + 0x80]
inc ebp
add r15, 2
movzx eax, word [rax + 0x5e]
cmp ebp, eax
jl 0x14006c050
mov rbx, qword [rsp + 0x110]
mov r15, qword [rsp + 0x80]
mov edi, dword [rsp + 0x140]
mov esi, dword [rsp + 0x64]
test edi, edi
je 0x14006bfcc
movzx ecx, word [r15 + 0x5e]
mov edx, r12d
mov eax, dword [r14 + 0x3c]
mov r12d, r8d
add eax, ecx
mov dword [rsp + 0x7c], 0x4e
mov dword [rsp + 0x90], eax
mov eax, dword [r13 + 0x64]
and al, 3
cmp al, 2
cmove edx, esi
mov dword [rsp + 0x9c], edx
test ecx, ecx
je 0x14006bfcc
mov qword [rsp + 0xb0], r8
mov r13, r8
nop word [rax + rax]
mov rax, qword [r15 + 0x40]
mov rdi, qword [rbx]
mov rbp, qword [rax + r13]
movzx r15d, byte [rdi + 0x4e]
movzx esi, byte [rdi + 0xa1]
test rbp, rbp
je 0x14006c190
movzx r8d, sil
mov rdx, rbp
mov rcx, rdi
call fcn.140060b50
mov rdi, rax
jmp 0x14006c194
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14006c1a9
movzx eax, r15b
dec eax
cdqe
lea rcx, [rax + rax*4]
lea rdi, [rdi + rcx*8]
test sil, sil
jne 0x14006c1cf
test rdi, rdi
je 0x14006c1ba
cmp qword [rdi + 0x18], 0
jne 0x14006c1cf
mov r9, rbp
mov r8, rdi
movzx edx, r15b
mov rcx, rbx
call fcn.140060a50
mov rdi, rax
mov r10d, dword [rsp + 0x7c]
mov eax, 0x4f
mov r15, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xb0]
mov ebp, dword [rsp + 0x68]
mov rcx, qword [r15 + 8]
movzx edx, word [r15 + 0x5e]
dec edx
cmp r12d, edx
mov edx, dword [rsp + 0x140]
movsx r8d, word [rsi + rcx]
mov ecx, ebp
cmovne ecx, dword [rsp + 0x90]
cmove r10d, eax
mov eax, dword [rsp + 0x9c]
inc edx
add r8d, edx
mov dword [rsp + 0x90], ecx
add eax, r12d
mov dword [rsp + 0x7c], r10d
mov r9d, ecx
mov dword [rsp + 0x20], eax
mov edx, r10d
mov rcx, r14
call fcn.140037d60
mov r9d, 0xfffffffc
mov r8, rdi
mov edx, eax
mov rcx, r14
call fcn.1400387d0
mov rax, qword [r14]
mov ecx, dword [r14 + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x14006c26d
lea rax, [0x140120b10]
jmp 0x14006c27c
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
lea rax, [rax + rcx*8]
add rsi, 2
mov byte [rax + 3], 0x90
movzx eax, word [r15 + 0x5e]
inc r12d
add r13, 8
mov qword [rsp + 0xb0], rsi
cmp r12d, eax
jl 0x14006c160
mov r13, qword [rsp + 0xb8]
mov esi, dword [rsp + 0x64]
jmp 0x14006bfd0
mov r8, r13
mov rcx, rbx
call fcn.14005fbe0
mov edi, dword [rsp + 0x78]
mov r15, qword [rsp + 0x118]
mov r12d, dword [rsp + 0x74]
jmp 0x14006c3b2
mov rax, qword [rbx + 0x1c0]
xor r10d, r10d
test rax, rax
mov rcx, rbx
mov r8d, r10d
cmovne rcx, rax
mov rax, qword [rsp + 0xa0]
mov byte [rcx + 0x20], 1
test dword [rax + 0x2c], 0x40000
je 0x14006c34e
mov rax, qword [rbx]
mov edi, r10d
mov r9d, r10d
test dword [rax + 0x2c], 0x800000
je 0x14006c327
mov rdx, qword [rsp + 0x118]
mov rcx, rbx
call fcn.14007e340
mov r9, rax
xor r10d, r10d
mov rdx, r9
test r9, r9
je 0x14006c345
nop
cmp byte [rdx + 0x10], 0x6d
jne 0x14006c33c
movzx ecx, byte [rdx + 0x11]
or edi, ecx
mov rdx, qword [rdx + 0x40]
test rdx, rdx
jne 0x14006c330
test edi, edi
mov r8, r10
cmovne r8, r9
cmp r13, qword [rsp + 0x80]
mov r12d, dword [rsp + 0x74]
mov r15, qword [rsp + 0x118]
sete al
mov edi, dword [rsp + 0x78]
or ecx, 0xffffffff
mov r9d, dword [rsp + 0x128]
mov rdx, r15
mov dword [rsp + 0x50], ecx
mov rcx, rbx
mov byte [rsp + 0x48], al
mov eax, dword [rsp + 0x130]
mov byte [rsp + 0x40], 5
mov byte [rsp + 0x38], 0
mov word [rsp + 0x30], r12w
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
call fcn.1400624b0
mov dword [rsp + 0x88], 1
mov r8, qword [r14 + 0x30]
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x14006c3ce
mov eax, dword [r14 + 0x3c]
not ebp
movsxd rcx, ebp
mov dword [rdx + rcx*4], eax
mov eax, dword [r14 + 0x3c]
lea r9d, [rsi - 1]
dec eax
lea rcx, [rbx + 0x94]
mov dword [r8 + 0x64], eax
mov r8d, 0xa
movzx r10d, word [r13 + 0x60]
add r9d, r10d
mov edx, dword [rcx]
cmp edx, esi
jl 0x14006c420
cmp edx, r9d
jg 0x14006c420
cmp byte [rcx - 6], 0
je 0x14006c418
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x14006c414
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], 0
xor r11d, r11d
mov dword [rcx], r11d
jmp 0x14006c423
xor r11d, r11d
add rcx, 0x14
sub r8, 1
jne 0x14006c3f1
cmp r10d, dword [rbx + 0x44]
jle 0x14006c43a
mov dword [rbx + 0x44], r10d
mov dword [rbx + 0x48], esi
cmp edi, esi
je 0x14006c494
lea r9d, [r12 - 1]
mov r8d, 0xa
add r9d, edi
lea rcx, [rbx + 0x94]
mov edx, dword [rcx]
cmp edx, edi
jl 0x14006c47d
cmp edx, r9d
jg 0x14006c47d
cmp byte [rcx - 6], 0
je 0x14006c47a
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x14006c476
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r11d
add rcx, 0x14
sub r8, 1
jne 0x14006c453
cmp r12d, dword [rbx + 0x44]
jle 0x14006c494
mov dword [rbx + 0x44], r12d
mov dword [rbx + 0x48], edi
mov rax, qword [rsp + 0x120]
mov r13, qword [r13 + 0x28]
inc dword [rsp + 0x70]
inc qword [rsp + 0xa8]
mov r12d, dword [rsp + 0x138]
mov rsi, qword [rsp + 0xa8]
mov edi, dword [rsp + 0x70]
mov qword [rsp + 0xb8], r13
test r13, r13
jne 0x14006ba30
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x14006c534
xor r8d, r8d
mov dword [rsp + 0x20], r11d
lea r9d, [rax + 1]
mov rcx, r14
lea edx, [r8 + 0xe]
call fcn.140037d60
mov ecx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov ecx, dword [rsp + 0x98]
mov edx, dword [r14 + 0x3c]
test ecx, ecx
jns 0x14006c510
lea ecx, [rdx - 1]
mov rax, qword [r14]
cmp byte [rax + 0x51], 0
je 0x14006c522
lea rax, [0x140120b10]
jmp 0x14006c531
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rax, qword [rsp + 0x160]
mov ecx, dword [rsp + 0x88]
mov dword [rax], ecx
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret