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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x1401eb9a0]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov eax, dword [rcx + 0x200]
mov r13, r8
mov rsi, qword [rcx]
mov r15, rdx
mov dword [rsp + 0x60], eax
mov rbx, rcx
mov eax, dword [rcx + 0x204]
mov r12d, 1
mov dword [rcx + 0x200], eax
inc eax
mov qword [rbp - 0x58], r8
mov qword [rbp - 0x38], rdx
mov dword [rcx + 0x204], eax
mov qword [rsp + 0x58], rsi
test rdx, rdx
je 0x1400ab0bc
cmp byte [rsi + 0x50], 0
jne 0x1400ab0bc
cmp dword [rcx + 0x4c], 0
jne 0x1400ab0bc
xor edi, edi
cmp byte [rsi + 0xa1], dil
jne 0x1400ab0e8
cmp byte [rcx + 0x1f3], dil
jne 0x1400ab0e8
mov r10, qword [rsi + 0x178]
test r10, r10
je 0x1400ab0e8
mov rax, qword [rcx + 0x230]
lea edx, [rdi + 0x15]
mov rcx, qword [rsi + 0x180]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call r10
cmp eax, r12d
jne 0x1400ab0c4
lea rdx, str.not_authorized
mov rcx, rbx
call fcn.1400486b0
mov dword [rbx + 0x18], reloc.WS2_32.dll_socket
mov eax, r12d
jmp 0x1400ab5e9
test eax, eax
je 0x1400ab0e8
cmp eax, 2
je 0x1400ab0bc
lea rdx, str.authorizer_malfunction
mov rcx, rbx
call fcn.1400486b0
mov eax, r12d
mov dword [rbx + 0x18], r12d
jmp 0x1400ab5e9
cmp byte [r13], 8
xorps xmm0, xmm0
mov qword [rsp + 0x228], r14
mov r14d, 0xfffe
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
ja 0x1400ab125
mov rdx, qword [r15 + 0x48]
mov rcx, rsi
call fcn.14007b850
and word [r15 + 0xa], r14w
mov qword [r15 + 0x48], rdi
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call fcn.1400aaa00
mov rax, qword [r15 + 0x48]
xor r8d, r8d
xorps xmm0, xmm0
mov rdx, qword [r15 + 0x28]
mov rdi, qword [r15]
movdqu xmmword [rbp], xmm0
mov qword [rbp + 0x10], r8
mov qword [rbp - 8], rax
mov qword [rbp - 0x68], rdx
cmp dword [rbx + 0x4c], r8d
jne 0x1400ab1f8
cmp byte [rsi + 0x50], r8b
jne 0x1400ab1f8
movzx r11d, word [r15 + 0xa]
mov r14, qword [rbx + 0x10]
shr r11d, 2
and r11d, r12d
mov dword [rsp + 0x50], r11d
test r14, r14
jne 0x1400ab1d8
mov rcx, rbx
call fcn.140065af0
mov qword [rbx + 0x10], rax
mov r14, rax
test rax, rax
je 0x1400ab1b0
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x99
mov rcx, r14
call fcn.140065c50
cmp qword [rbx + 0x1c0], 0
jne 0x1400ab1c7
mov rax, qword [rbx]
test byte [rax + 0x4c], 8
jne 0x1400ab1c7
mov byte [rbx + 0x23], r12b
test r14, r14
je 0x1400ab1f8
mov r11d, dword [rsp + 0x50]
xor r8d, r8d
mov rdx, qword [rbp - 0x68]
movzx eax, byte [r13]
cmp dword [rdi], r12d
jle 0x1400ab200
sub al, 0xa
cmp al, r12b
ja 0x1400ab200
lea rdx, str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
mov rcx, rbx
call fcn.1400486b0
mov rdi, rsi
jmp 0x1400acc9b
mov rcx, qword [r15 + 0x50]
mov r12d, r8d
test rcx, rcx
jne 0x1400ab591
mov rax, r8
mov rcx, r8
mov qword [rbp - 0x60], rax
nop word [rax + rax]
cmp r12d, dword [rdx]
jge 0x1400ab58c
imul rsi, rax, 0x78
add rsi, rdx
mov r13, qword [rsi + 0x30]
test r13, r13
je 0x1400ab57b
mov r9d, dword [rsi + 0x38]
test r9d, r9d
je 0x1400ab294
test byte [rsi + 0x48], 4
jne 0x1400ab57b
mov dword [rsp + 0x20], r8d
mov edx, reloc.WS2_32.dll_recvfrom
mov r8d, dword [rsi + 0x3c]
mov rcx, r14
call fcn.140065c50
mov rdx, qword [rbp - 0x68]
mov r13d, dword [rsp + 0x50]
xor r8d, r8d
mov rax, qword [rbp - 0x60]
inc r12d
mov rcx, qword [r15 + 0x50]
inc rax
mov qword [rbp - 0x60], rax
test rcx, rcx
jne 0x1400ab585
mov r11d, dword [rsp + 0x50]
jmp 0x1400ab220
mov rcx, r15
call fcn.14007a100
add dword [rbx + 0x1fc], eax
mov r9d, r11d
movzx edi, word [r13 + 0xa]
mov r8d, r12d
shr edi, 2
mov rdx, r15
and edi, 1
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.1400a8d70
test eax, eax
je 0x1400ab304
test edi, edi
je 0x1400ab2ec
or word [r15 + 0xa], 4
mov r13d, 1
mov dword [rsp + 0x50], r13d
mov qword [rbp - 0x60], 0xffffffffffffffff
lea r12d, [r13 - 2]
jmp 0x1400ab53c
mov r13d, dword [rsp + 0x50]
mov r12d, 0xffffffff
mov qword [rbp - 0x60], 0xffffffffffffffff
jmp 0x1400ab53c
mov rax, qword [rbp - 0x68]
cmp dword [rax], 1
jne 0x1400ab3ed
mov rcx, qword [rsp + 0x58]
mov eax, 0x100
test word [rcx + 0x4c], ax
jne 0x1400ab3ed
mov edi, dword [r14 + 0x3c]
xor r9d, r9d
inc dword [rbx + 0x54]
inc edi
mov r8d, dword [rbx + 0x54]
mov rcx, r14
mov dword [rsi + 0x3c], r8d
lea edx, [r9 + 0x14]
mov dword [rsp + 0x20], edi
call fcn.140065c50
mov eax, dword [rsi + 0x3c]
lea r8, [rbp + 0xa8]
mov dword [rsi + 0x38], edi
mov rdx, r13
mov dword [rbp + 0xac], eax
mov rcx, rbx
xor eax, eax
mov word [rbp + 0xa8], reloc.WS2_32.dll_listen
mov qword [rbp + 0xb0], rax
movzx eax, byte [rbx + 0x204]
mov byte [rsi + 0x4c], al
call fcn.1400aafe0
mov rcx, qword [r13 + 0x20]
call fcn.140049810
mov rcx, qword [rsi + 0x28]
xor r13d, r13d
xor r9d, r9d
mov dword [rsp + 0x20], r13d
mov word [rcx + 0x38], ax
lea edx, [r13 + 0x15]
or dword [rsi + 0x48], 4
mov rcx, r14
mov eax, dword [rbp + 0xb0]
mov r8d, dword [rsi + 0x3c]
mov dword [rsi + 0x40], eax
call fcn.140065c50
mov edx, dword [r14 + 0x3c]
dec edi
cmp edx, edi
jbe 0x1400ab3d6
mov rax, qword [r14 + 8]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
mov byte [rbx + 0x1f], r13b
mov dword [rbx + 0x44], r13d
jmp 0x1400ab537
mov r9d, dword [rbx + 0x54]
xor ecx, ecx
inc r9d
mov dword [rsp + 0x20], ecx
mov edi, ecx
mov dword [rbx + 0x54], r9d
xor r8d, r8d
mov dword [rsi + 0x3c], r9d
lea edx, [rcx + 0x19]
mov rcx, r14
call fcn.140065c50
test byte [rsi + 0x48], 2
mov dword [rbp - 0x70], eax
lea ecx, [rax + 1]
mov dword [rsi + 0x38], ecx
jne 0x1400ab48f
mov rdi, qword [rbx + 0x10]
test rdi, rdi
jne 0x1400ab46e
mov rcx, rbx
call fcn.140065af0
mov qword [rbx + 0x10], rax
mov rdi, rax
test rax, rax
je 0x1400ab457
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x99
mov rcx, rdi
call fcn.140065c50
cmp qword [rbx + 0x1c0], 0
jne 0x1400ab46e
mov rax, qword [rbx]
test byte [rax + 0x4c], 8
jne 0x1400ab46e
mov byte [rbx + 0x23], 1
mov r8d, dword [rbx + 0x5c]
xor r9d, r9d
mov rcx, rdi
lea eax, [r8 + 1]
mov dword [rbx + 0x5c], eax
xor eax, eax
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x2c]
call fcn.140065c50
mov edi, eax
mov ecx, dword [rsi + 0x50]
lea r8, [rbp + 0xa8]
mov dword [rbp + 0xac], ecx
xor eax, eax
movzx ecx, byte [rbx + 0x204]
mov rdx, r13
mov word [rbp + 0xa8], ntohs
mov qword [rbp + 0xb0], rax
mov byte [rsi + 0x4c], cl
mov rcx, rbx
call fcn.1400aafe0
mov rcx, qword [r13 + 0x20]
call fcn.140049810
mov rcx, qword [rsi + 0x28]
mov word [rcx + 0x38], ax
test edi, edi
je 0x1400ab4ff
mov edx, dword [r14 + 0x3c]
cmp edx, edi
jbe 0x1400ab4f5
mov eax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
mov r8d, dword [rsi + 0x3c]
xor edi, edi
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov rcx, r14
lea edx, [rdi + 0x12]
call fcn.140065c50
mov r8d, eax
mov eax, dword [rbp - 0x70]
cmp dword [r14 + 0x3c], eax
jbe 0x1400ab530
mov rcx, qword [r14 + 8]
lea rdx, [rax + rax*2]
mov dword [rcx + rdx*8 + 4], r8d
mov byte [rbx + 0x1f], dil
mov dword [rbx + 0x44], edi
mov r13d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
cmp byte [rdi + 0x50], 0
jne 0x1400acc95
mov rcx, r15
call fcn.14007a100
sub dword [rbx + 0x1fc], eax
mov rax, qword [rbp - 0x58]
mov rdx, qword [r15 + 0x28]
mov qword [rbp - 0x68], rdx
cmp byte [rax], 8
jbe 0x1400ab26f
mov rax, qword [r15 + 0x48]
mov qword [rbp - 8], rax
jmp 0x1400ab26f
mov r13d, dword [rsp + 0x50]
jmp 0x1400ab272
mov rsi, qword [rsp + 0x58]
jmp 0x1400ab596
mov rsi, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x50]
mov rax, qword [r15 + 0x30]
mov rdi, qword [r15]
mov r12, qword [r15 + 0x38]
mov rdx, qword [r15 + 0x40]
mov qword [rsp + 0x78], rax
movzx eax, byte [r15 + 0xa]
and al, 1
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x18], rdx
mov byte [rbp + 0x98], al
test rcx, rcx
je 0x1400ab60a
mov r8, qword [rbp - 0x58]
mov rdx, r15
mov rcx, rbx
call fcn.1400a6e00
mov ecx, dword [rsp + 0x60]
mov dword [rbx + 0x200], ecx
mov r14, qword [rsp + 0x228]
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.14014fd10
add rsp, 0x1d0
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movzx eax, byte [r15 + 0xa]
and al, 5
cmp al, 1
jne 0x1400ab724
mov rcx, qword [rbp - 8]
mov r8d, 0xffffffff
mov rdx, rdi
call fcn.1400801e0
test eax, eax
jne 0x1400ab724
mov rdx, qword [r15]
mov eax, 0xfffe
and word [r15 + 0xa], ax
xor r8d, r8d
mov rcx, rsi
call fcn.14007b020
mov r12, rax
mov qword [rbp - 0x40], rax
mov qword [r15 + 0x38], rax
xor eax, eax
mov qword [rbp - 8], rax
mov dword [rbp + 0x10], 0xffffffff
mov rax, qword [rbp - 0x58]
cmp byte [rax], 0xc
jne 0x1400ab688
mov r9d, dword [rdi]
mov edx, reloc.WS2_32.dll_gethostname
mov r8d, dword [rax + 4]
mov rcx, r14
mov dword [rsp + 0x20], 0
call fcn.140065c50
mov rdi, qword [r14 + 0x30]
mov edx, dword [rdi + 0x78]
mov dword [rbp - 0x70], edx
lea eax, [rdx + 1]
mov dword [rdi + 0x78], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x1400ab6c6
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x80]
movsxd r8, eax
shl r8, 2
call fcn.140045bd0
mov edx, dword [rbp - 0x70]
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x1400ab6dc
movsxd rax, edx
mov dword [rcx + rax*4], 0xffffffff
mov r8d, edx
movabs rax, 0x7fffffffffffffff
not r8d
mov qword [r15 + 0x20], rax
mov rdx, r15
mov rcx, rbx
call fcn.1400a6350
cmp dword [r15 + 0xc], 0
jne 0x1400ab7a4
movsxd rcx, dword [rbp + 0x10]
test ecx, ecx
js 0x1400ab7a4
mov rax, qword [r14]
cmp byte [rax + 0x50], 0
je 0x1400ab791
lea rax, [0x1401f4e48]
jmp 0x1400ab79d
mov rdx, qword [rbp - 8]
test rdx, rdx
je 0x1400ab65c
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call fcn.1400a4dc0
mov r8d, dword [rbx + 0x50]
mov rsi, rax
mov dword [rbp + 4], r8d
xor eax, eax
mov dword [rsp + 0x20], eax
lea ecx, [r8 + 1]
mov dword [rbx + 0x50], ecx
mov rcx, qword [rbp - 8]
mov r9d, dword [rdi]
mov edx, dword [rcx]
mov rcx, r14
inc edx
add r9d, edx
lea edx, [rax + 0x39]
call fcn.140065c50
mov r9d, 0xfffffffa
mov r8, rsi
mov edx, eax
mov rcx, r14
mov edi, eax
call fcn.140066230
mov dword [rbp + 0x10], edi
mov rdi, qword [rbp - 0x60]
jmp 0x1400ab663
mov rax, qword [r14 + 8]
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
mov byte [rax], 0x3a
or byte [rbp + 0x14], 1
test byte [r15 + 0xa], 1
je 0x1400ab822
mov eax, dword [rbx + 0x50]
xor r9d, r9d
mov dword [rbp + 0x9c], eax
xor r8d, r8d
inc eax
mov rcx, rbx
mov dword [rbx + 0x50], eax
mov rdx, qword [r15]
call fcn.1400a4dc0
mov r8d, dword [rbp + 0x9c]
mov rsi, rax
xor eax, eax
xor r9d, r9d
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x39]
call fcn.140065c50
mov r9d, 0xfffffffa
mov r8, rsi
mov edx, eax
mov rcx, r14
mov edi, eax
call fcn.140066230
mov dword [rbp + 0xa0], edi
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x1400ab819
movsxd rax, dword [r14 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
mov byte [rbp + 0x99], 3
jmp 0x1400ab829
mov byte [rbp + 0x99], 0
test r13d, r13d
jne 0x1400ab973
test r12, r12
jne 0x1400ab973
movzx eax, byte [rbp + 0x98]
mov r13, qword [rbp - 0x68]
neg al
mov rax, qword [r15]
mov rdx, r13
mov r9, qword [rbp - 8]
sbb cx, cx
mov r8, qword [rsp + 0x78]
and cx, 0x400
xor edi, edi
mov dword [rsp + 0x30], edi
mov word [rsp + 0x28], cx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400bc560
mov rsi, rax
test rax, rax
je 0x1400acc90
mov rcx, rax
call fcn.1400b33d0
cmp rax, qword [r15 + 0x20]
jae 0x1400ab89d
mov rcx, rsi
call fcn.1400b33d0
mov qword [r15 + 0x20], rax
cmp byte [rbp + 0x98], dil
je 0x1400ab8bc
movzx ecx, byte [rsi + 0x38]
movzx eax, byte [rbp + 0x99]
test cl, cl
cmovne eax, ecx
mov byte [rbp + 0x99], al
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400ab8d6
movsx eax, byte [rsi + 0x34]
mov dword [rbp], eax
cmp eax, dword [rcx]
cmove rcx, rdi
mov qword [rbp - 8], rcx
movsxd r12, dword [rbp + 0x10]
test r12d, r12d
js 0x1400ab925
test rcx, rcx
jne 0x1400ab925
cmp r12d, dword [r14 + 0x3c]
jge 0x1400ab925
mov rax, qword [r14 + 8]
lea rcx, [r12 + r12*2]
movsx edx, byte [rax + rcx*8 + 1]
lea rdi, [rax + rcx*8]
mov r8, qword [rdi + 0x10]
mov rcx, qword [r14]
call fcn.140065f70
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov eax, dword [r14 + 0x3c]
dec eax
cmp r12d, eax
jne 0x1400ab925
mov dword [r14 + 0x3c], eax
mov eax, dword [rsi + 0x44]
mov r9d, 0xffffffff
mov r8, qword [rbp - 0x60]
mov rdx, r15
mov dword [rsp + 0x40], eax
mov rcx, rbx
mov eax, dword [rsi + 0x40]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.1400a41a0
mov rcx, rsi
call fcn.1400bd150
jmp 0x1400acb3e
xor esi, esi
mov dword [rbp - 0x50], esi
mov dword [rsp + 0x54], esi
test r12, r12
je 0x1400ab9ce
mov rax, qword [r15]
mov ecx, dword [rax]
mov rdx, qword [rax + 8]
test ecx, ecx
jle 0x1400ab99f
lea rax, [rdx + 0x22]
dec ecx
mov word [rax], si
lea rax, [rax + 0x28]
test ecx, ecx
jg 0x1400ab992
mov eax, dword [r12]
mov rcx, qword [r12 + 8]
test eax, eax
jle 0x1400ab9bd
add rcx, 0x22
dec eax
mov word [rcx], si
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x1400ab9b0
cmp qword [r15 + 0x20], 0x64
jbe 0x1400ab9d6
mov qword [r15 + 0x20], 0x64
jmp 0x1400ab9d6
mov qword [r15 + 0x20], 1
mov rdx, qword [rbp - 8]
mov r8d, 0xffffffff
mov rcx, r12
call fcn.1400801e0
mov rdi, qword [r14 + 0x30]
test eax, eax
mov eax, 1
mov ecx, esi
cmove ecx, eax
mov dword [rbp - 0x74], ecx
mov edx, dword [rdi + 0x78]
mov dword [rbp - 0x24], edx
lea eax, [rdx + 1]
mov dword [rdi + 0x78], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x1400aba35
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x80]
movsxd r8, eax
shl r8, 2
call fcn.140045bd0
mov edx, dword [rbp - 0x24]
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x1400aba4b
movsxd rax, edx
mov dword [rcx + rax*4], 0xffffffff
mov eax, edx
mov qword [rbp + 0x70], rsi
not eax
mov qword [rbp + 0x90], rsi
mov dword [rbp - 0x78], eax
xorps xmm0, xmm0
mov rax, qword [rbp - 0x68]
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0x20]
mov qword [rbp + 0x78], rax
mov eax, dword [rbx + 0x54]
inc eax
mov qword [rbp + 0x60], rbx
mov dword [rbp + 0x30], eax
movdqu xmmword [rbp + 0x80], xmm0
test r12, r12
je 0x1400aba92
mov eax, dword [r12]
mov dword [rbp + 0x2c], eax
jmp 0x1400aba95
mov dword [rbp + 0x2c], esi
mov r13, qword [rbp - 0x60]
mov qword [rbp + 0x38], r12
test r13, r13
je 0x1400abaca
mov rdi, qword [r13 + 8]
cmp dword [r13], esi
jle 0x1400abaca
nop dword [rax]
mov rdx, qword [rdi]
lea rcx, [rbp + 0x60]
call fcn.1400806c0
inc esi
lea rdi, [rdi + 0x28]
cmp esi, dword [r13]
jl 0x1400abab0
xor esi, esi
mov r13, qword [rbp - 8]
test r13, r13
je 0x1400abaf8
cmp dword [r13], 0
mov rdi, qword [r13 + 8]
jle 0x1400abaf8
nop
mov rdx, qword [rdi]
lea rcx, [rbp + 0x60]
call fcn.1400806c0
inc esi
lea rdi, [rdi + 0x28]
cmp esi, dword [r13]
jl 0x1400abae0
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x1400abb0d
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.1400806c0
mov r8d, dword [rbp + 0x58]
xor r10d, r10d
mov eax, dword [rbp + 0x48]
mov r9d, r10d
mov dword [rbp + 0x4c], eax
mov dword [rsp + 0x64], r10d
test r8d, r8d
jle 0x1400abbbf
movzx edx, word [rbp + 0x90]
mov r12d, r10d
mov r15d, 0xfff7
nop dword [rax + rax]
mov rax, qword [rbp + 0x50]
or dx, 8
mov word [rbp + 0x90], dx
mov rcx, qword [r12 + rax]
mov r13, qword [rcx + 0x20]
test r13, r13
je 0x1400abb9b
cmp dword [r13], 0
mov esi, r10d
mov rdi, qword [r13 + 8]
jle 0x1400abb9b
nop word [rax + rax]
mov rdx, qword [rdi]
lea rcx, [rbp + 0x60]
call fcn.1400806c0
inc esi
lea rdi, [rdi + 0x28]
cmp esi, dword [r13]
jl 0x1400abb70
mov r8d, dword [rbp + 0x58]
xor r10d, r10d
movzx edx, word [rbp + 0x90]
mov r9d, dword [rsp + 0x64]
and dx, r15w
inc r9d
add r12, 0x18
mov word [rbp + 0x90], dx
mov dword [rsp + 0x64], r9d
cmp r9d, r8d
jl 0x1400abb40
mov r15, qword [rbp - 0x38]
mov r12, qword [rbp - 0x40]
mov rdi, qword [rsp + 0x58]
mov eax, dword [rbx + 0x54]
mov dword [rbp + 0x34], eax
cmp byte [rdi + 0x50], 0
jne 0x1400acc95
test r12, r12
je 0x1400ac55e
mov eax, dword [rbx + 0x50]
xor r9d, r9d
mov dword [rbp + 0x24], eax
xor r8d, r8d
inc eax
mov rdx, r12
mov rcx, rbx
mov dword [rbx + 0x50], eax
call fcn.1400a4dc0
mov r9d, dword [rbp + 0x2c]
mov rdi, rax
mov r8d, dword [rbp + 0x24]
mov rcx, r14
mov qword [rbp - 0x10], rax
xor eax, eax
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x3a]
call fcn.140065c50
mov r9d, 0xfffffffa
mov dword [rsp + 0x68], eax
mov r8, rdi
mov edx, eax
mov rcx, r14
call fcn.140066230
mov esi, dword [rbx + 0x54]
inc esi
mov dword [rbp - 0x7c], esi
inc esi
mov dword [rbp - 0x2c], esi
lea eax, [rsi + 1]
mov dword [rbx + 0x54], eax
mov rdi, qword [r14 + 0x30]
mov dword [rbp - 0x4c], eax
mov edx, dword [rdi + 0x78]
mov dword [rbp - 0x28], edx
lea eax, [rdx + 1]
mov dword [rdi + 0x78], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x1400abc84
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x80]
movsxd r8, eax
shl r8, 2
call fcn.140045bd0
mov edx, dword [rbp - 0x28]
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x1400abc9a
movsxd rax, edx
mov dword [rcx + rax*4], 0xffffffff
inc dword [rbx + 0x54]
mov eax, edx
mov rdi, qword [r14 + 0x30]
not eax
mov dword [rbp - 0x20], eax
mov eax, dword [rbx + 0x54]
mov dword [rsp + 0x64], eax
mov edx, dword [rdi + 0x78]
mov dword [rsp + 0x70], edx
lea eax, [rdx + 1]
mov dword [rdi + 0x78], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x1400abceb
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x80]
movsxd r8, eax
shl r8, 2
call fcn.140045bd0
mov edx, dword [rsp + 0x70]
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x1400abd01
movsxd rax, edx
mov dword [rcx + rax*4], 0xffffffff
mov ecx, dword [rbx + 0x54]
mov r13d, edx
mov edx, dword [r12]
not r13d
add edx, ecx
mov dword [rbp - 0x48], r13d
mov dword [rbx + 0x54], edx
mov r9d, esi
lea edi, [rcx + 1]
xor r8d, r8d
mov ecx, dword [r12]
lea eax, [rdx + 1]
mov dword [rbp - 0x30], edi
add ecx, edx
mov dword [rbp - 0x80], eax
xor eax, eax
mov dword [rbx + 0x54], ecx
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x19]
call fcn.140065c50
mov r9d, dword [rbp - 0x7c]
xor esi, esi
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov rcx, r14
lea edx, [rsi + 0x19]
call fcn.140065c50
lea ecx, [rdi - 1]
mov r9d, edi
add ecx, dword [r12]
lea edx, [rsi + 0x1c]
mov dword [rsp + 0x20], ecx
xor r8d, r8d
mov rcx, r14
call fcn.140065c50
mov r8d, dword [rsp + 0x64]
lea edx, [rsi + 0x11]
mov r9d, r13d
mov dword [rsp + 0x20], esi
mov rcx, r14
call fcn.140065c50
cmp dword [rbp - 0x74], esi
mov ecx, 0x900
mov r8, qword [rsp + 0x78]
mov eax, 0x100
mov rdx, qword [rbp - 0x68]
cmovne ax, cx
xor r13d, r13d
mov r9, r12
mov dword [rsp + 0x30], r13d
mov rcx, rbx
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r13
call fcn.1400bc560
mov qword [rsp + 0x78], rax
mov rdx, rax
test rax, rax
je 0x1400acc90
movsx ecx, byte [rax + 0x34]
cmp ecx, dword [r12]
jne 0x1400abdec
mov eax, r13d
mov dword [rsp + 0x50], eax
jmp 0x1400ac04a
cmp byte [rbp + 0x98], sil
je 0x1400abe03
test byte [r15 + 0xa], 1
lea rdx, str.DISTINCT
je 0x1400abe0a
lea rdx, str.GROUP_BY
mov rcx, rbx
call fcn.1400a4e80
mov edi, dword [r12]
mov esi, edi
mov ecx, dword [rbp + 0x48]
mov edx, edi
mov dword [rsp + 0x50], 1
test ecx, ecx
jle 0x1400abe5d
mov r8, qword [rbp + 0x40]
mov r9d, ecx
add r8, 0x10
nop dword [rax]
nop dword [rax + rax]
cmp dword [r8], edx
lea eax, [rsi + 1]
lea r8, [r8 + 0x20]
cmovl eax, esi
mov esi, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x1400abe40
mov ecx, dword [rbx + 0x44]
mov r12d, dword [rbx + 0x48]
mov dword [rsp + 0x54], r12d
cmp esi, ecx
jg 0x1400abe7b
lea eax, [r12 + rsi]
sub ecx, esi
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], ecx
jmp 0x1400abe8c
mov eax, dword [rbx + 0x54]
lea r12d, [rax + 1]
add eax, esi
mov dword [rbx + 0x54], eax
mov dword [rsp + 0x54], r12d
mov rcx, rbx
call fcn.14007de10
mov rdx, qword [rbp - 0x40]
mov r8d, r12d
xor r9d, r9d
call fcn.14007f410
mov ecx, dword [rbp + 0x48]
test ecx, ecx
jle 0x1400abf28
mov r8d, dword [rsp + 0x54]
add edi, r12d
xor eax, eax
mov r12d, eax
xor r15d, r15d
nop word [rax + rax]
mov rdx, qword [rbp + 0x40]
mov eax, edi
add rdx, r12
sub eax, r8d
cmp dword [rdx + 0x10], eax
jl 0x1400abf13
mov r9d, dword [rdx + 8]
mov rcx, rbx
mov r8d, dword [rdx + 0xc]
mov rdx, qword [rdx]
mov byte [rsp + 0x28], r15b
mov dword [rsp + 0x20], edi
call fcn.14007dca0
cmp edi, eax
je 0x1400abf09
mov r9d, edi
mov dword [rsp + 0x20], r15d
mov r8d, eax
mov edx, 0x22
mov rcx, r14
call fcn.140065c50
mov ecx, dword [rbp + 0x48]
inc edi
mov r8d, dword [rsp + 0x54]
inc r13d
add r12, 0x20
cmp r13d, ecx
jl 0x1400abec0
mov r15, qword [rbp - 0x38]
mov r12d, dword [rsp + 0x54]
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1400abf38
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x1400abf44
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0x24]
mov r9d, esi
mov dword [rsp + 0x20], edi
mov r8d, r12d
mov edx, 0x31
mov rcx, r14
call fcn.140065c50
mov r8d, dword [rbp + 0x24]
xor r13d, r13d
mov r9d, edi
mov dword [rsp + 0x20], r13d
mov rcx, r14
lea edx, [r13 + 0x6d]
call fcn.140065c50
test edi, edi
je 0x1400abfad
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x1400abfad
mov ecx, r13d
lea rax, [rbx + 0x88]
nop dword [rax]
cmp dword [rax + 0xc], edi
je 0x1400abfa9
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1400abf90
mov dword [rbx + rdx*4 + 0x24], edi
inc byte [rbx + 0x1f]
jmp 0x1400abfad
mov byte [rax + 6], 1
mov r8d, esi
mov edx, r12d
mov rcx, rbx
call fcn.14007d720
cmp esi, dword [rbx + 0x44]
jle 0x1400abfc7
mov dword [rbx + 0x44], esi
mov dword [rbx + 0x48], r12d
mov rcx, qword [rsp + 0x78]
call fcn.1400bd150
mov ecx, dword [rbx + 0x50]
mov dword [rbp - 0x50], ecx
mov dword [rbp + 0x28], ecx
lea eax, [rcx + 1]
mov dword [rbx + 0x50], eax
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1400abff0
inc dword [rbx + 0x54]
mov eax, dword [rbx + 0x54]
jmp 0x1400abffc
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov eax, dword [rbx + rax*4 + 0x24]
mov r8d, ecx
mov dword [rsp + 0x54], eax
mov rcx, r14
mov dword [rsp + 0x20], esi
mov r9d, eax
mov edx, 0x3c
call fcn.140065c50
mov r9d, dword [rbp - 0x78]
mov edx, 0x6a
mov r8d, dword [rbp + 0x24]
mov rcx, r14
mov dword [rsp + 0x20], r13d
call fcn.140065c50
mov rcx, rbx
mov byte [rbp + 0x21], 1
call fcn.14007de10
mov eax, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
mov r12, qword [rbp - 0x40]
cmp dword [rbp - 0x74], 0
je 0x1400ac0ac
mov rcx, qword [rsp + 0x58]
test byte [rcx + 0x4c], 4
jne 0x1400ac0ac
test eax, eax
jne 0x1400ac064
cmp byte [rdx + 0x35], al
je 0x1400ac0ac
movsxd rsi, dword [rbp + 0x10]
mov qword [rbp - 8], r13
cmp esi, dword [r14 + 0x3c]
jge 0x1400ac0ac
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi*2]
movsx edx, byte [rax + rcx*8 + 1]
lea rdi, [rax + rcx*8]
mov r8, qword [rdi + 0x10]
mov rcx, qword [r14]
call fcn.140065f70
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov eax, dword [r14 + 0x3c]
dec eax
cmp esi, eax
jne 0x1400ac0ac
mov dword [r14 + 0x3c], eax
mov r13d, dword [r14 + 0x3c]
mov rcx, rbx
mov dword [rbp - 0x74], r13d
call fcn.14007de10
cmp dword [rsp + 0x50], 0
je 0x1400ac0e0
mov eax, dword [rbp - 0x50]
mov edx, 0x64
mov r9d, dword [rsp + 0x54]
mov rcx, r14
mov r8d, dword [rbp + 0x24]
mov dword [rsp + 0x20], eax
call fcn.140065c50
mov eax, dword [r12]
xor ecx, ecx
mov edi, ecx
test eax, eax
jle 0x1400ac194
mov r15, qword [rbp - 0x40]
mov r12d, ecx
mov r13d, dword [rsp + 0x50]
nop dword [rax]
test r13d, r13d
je 0x1400ac15c
movsxd rsi, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
mov ecx, esi
cmp dword [rax + 0x60], esi
jg 0x1400ac124
mov rcx, r14
call fcn.140065ba0
test eax, eax
jne 0x1400ac177
mov ecx, dword [r14 + 0x3c]
lea eax, [rcx + 1]
mov dword [r14 + 0x3c], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [r14 + 8]
mov word [rax + rcx*8], 0x2f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], edi
lea rdx, [rax + rcx*8]
mov eax, dword [rbp - 0x50]
mov dword [rdx + 4], eax
mov eax, dword [rbp - 0x80]
add eax, edi
xor ecx, ecx
mov dword [rdx + 0xc], eax
mov qword [rdx + 0x10], rcx
jmp 0x1400ac177
mov r8d, dword [rbp - 0x80]
mov rcx, rbx
mov byte [rbp + 0x20], 1
add r8d, edi
mov rdx, qword [r15 + 8]
mov rdx, qword [rdx + r12]
call fcn.14007f3b0
mov eax, dword [r15]
inc edi
add r12, 0x28
cmp edi, eax
jl 0x1400ac100
mov r15, qword [rbp - 0x38]
mov r13d, dword [rbp - 0x74]
mov r12, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x1400ac1a3
inc dword [rdi]
mov eax, dword [r12]
mov r9d, dword [rbp - 0x80]
mov edx, 0x2a
mov r8d, dword [rbp - 0x30]
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.140065c50
mov r9d, 0xfffffffa
mov r8, rdi
mov edx, eax
mov rcx, r14
call fcn.140066230
mov esi, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
mov ecx, esi
cmp dword [rax + 0x60], esi
jg 0x1400ac1ee
mov rcx, r14
call fcn.140065ba0
test eax, eax
jne 0x1400ac224
mov ecx, dword [r14 + 0x3c]
lea eax, [rcx + 1]
mov dword [r14 + 0x3c], eax
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
mov word [rax + rcx*8], 0x2b
mov byte [rax + rcx*8 + 3], 0
lea r8, [rax + rcx*8]
xor ecx, ecx
lea eax, [rsi + 1]
mov dword [r8 + 8], ecx
mov dword [r8 + 4], eax
mov dword [r8 + 0xc], eax
mov qword [r8 + 0x10], rcx
mov edi, dword [r12]
mov edx, 0x20
mov r9d, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x80]
mov rcx, qword [rbx + 0x10]
mov dword [rsp + 0x20], edi
call fcn.140065c50
mov edx, dword [rbp - 0x80]
mov r8d, edi
mov rcx, rbx
call fcn.14007d720
mov r12d, dword [rbp - 0x20]
xor edi, edi
mov r8d, dword [rbp - 0x4c]
mov r9d, r12d
mov rcx, r14
mov dword [rsp + 0x20], edi
lea edx, [rdi + 0x11]
call fcn.140065c50
mov r9d, dword [rbp - 0x78]
mov edx, 0x89
mov r8d, dword [rbp - 0x2c]
mov rcx, r14
mov dword [rsp + 0x20], edi
call fcn.140065c50
mov r9d, dword [rbp - 0x48]
lea edx, [rdi + 0x11]
mov r8d, dword [rsp + 0x64]
mov rcx, r14
mov dword [rsp + 0x20], edi
call fcn.140065c50
mov edx, dword [r14 + 0x3c]
cmp edx, esi
jbe 0x1400ac2b5
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi*2]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
lea ecx, [rdx - 1]
lea rdx, [rbp + 0x20]
mov dword [rax + 0x64], ecx
mov rcx, rbx
call fcn.1400aac60
mov edx, 0x19
mov dword [rsp + 0x20], edi
mov edi, dword [rbp - 0x7c]
mov rcx, r14
mov r9d, edi
lea r8d, [rdx - 0x18]
call fcn.140065c50
cmp dword [rsp + 0x50], 0
je 0x1400ac307
mov r8d, dword [rbp + 0x24]
xor eax, eax
mov r9d, r13d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 5]
call fcn.140065c50
jmp 0x1400ac359
mov rcx, qword [rsp + 0x78]
call fcn.1400bd150
movsxd rsi, dword [rsp + 0x68]
cmp esi, dword [r14 + 0x3c]
jge 0x1400ac359
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi*2]
movsx edx, byte [rax + rcx*8 + 1]
lea rdi, [rax + rcx*8]
mov r8, qword [rdi + 0x10]
mov rcx, qword [r14]
call fcn.140065f70
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov eax, dword [r14 + 0x3c]
mov edi, dword [rbp - 0x7c]
dec eax
cmp esi, eax
jne 0x1400ac359
mov dword [r14 + 0x3c], eax
mov esi, dword [rbp - 0x4c]
xor eax, eax
mov r9d, r12d
mov dword [rsp + 0x20], eax
mov r8d, esi
mov rcx, r14
lea edx, [rax + 0x11]
call fcn.140065c50
mov r9d, dword [rbp - 0x78]
xor r12d, r12d
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov rcx, r14
lea edx, [r12 + 0x10]
call fcn.140065c50
mov eax, dword [r14 + 0x3c]
lea edx, [r12 + 0x19]
mov r9d, dword [rbp - 0x2c]
lea r8d, [r12 + 1]
mov rcx, r14
mov dword [rbp - 0x48], eax
mov dword [rsp + 0x20], r12d
call fcn.140065c50
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, esi
lea edx, [r12 + 0x12]
mov rcx, r14
call fcn.140065c50
movsxd rax, dword [rbp - 0x28]
mov r10, qword [r14 + 0x30]
test eax, eax
js 0x1400ac3ec
mov r9, qword [r10 + 0x80]
test r9, r9
je 0x1400ac3ec
mov rcx, rax
mov eax, dword [r14 + 0x3c]
mov dword [r9 + rcx*4], eax
mov eax, dword [r14 + 0x3c]
mov r8d, edi
dec eax
mov dword [rsp + 0x20], r12d
mov dword [r10 + 0x64], eax
mov edx, 0x89
mov eax, dword [r14 + 0x3c]
mov rcx, r14
mov dword [rsp + 0x68], eax
lea r9d, [rax + 2]
call fcn.140065c50
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, esi
mov rcx, r14
lea edx, [r9 + 0x12]
call fcn.140065c50
mov r13, qword [rbx + 0x10]
cmp dword [rbp + 0x58], r12d
jle 0x1400ac498
mov rsi, qword [rbp + 0x50]
add rsi, 0x10
xor r15d, r15d
mov rax, qword [rsi - 0x10]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1400ac455
mov r9d, dword [rcx]
jmp 0x1400ac458
mov r9d, r15d
mov r8d, dword [rsi]
mov edx, 0x8c
mov rdi, qword [rsi - 8]
mov rcx, r13
mov dword [rsp + 0x20], r15d
call fcn.140065c50
mov r9d, 0xfffffffb
mov r8, rdi
mov edx, eax
mov rcx, r13
call fcn.140066230
inc r12d
add rsi, 0x18
cmp r12d, dword [rbp + 0x58]
jl 0x1400ac443
mov r15, qword [rbp - 0x38]
mov esi, dword [rbp - 0x4c]
mov edi, dword [rsp + 0x68]
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rbp - 0x18]
inc edi
mov r8d, edi
mov rcx, rbx
call fcn.14007fb90
mov eax, dword [rbp - 0x48]
mov r9d, 0xffffffff
mov r8, qword [r15]
mov rdx, r15
mov dword [rsp + 0x40], eax
mov rcx, rbx
mov rax, qword [rbp - 0x58]
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.1400a41a0
xor edi, edi
xor r9d, r9d
mov r8d, esi
mov dword [rsp + 0x20], edi
mov rcx, r14
lea edx, [rdi + 0x12]
call fcn.140065c50
movsxd rax, dword [rsp + 0x70]
mov r10, qword [r14 + 0x30]
test eax, eax
js 0x1400ac52b
mov r9, qword [r10 + 0x80]
test r9, r9
je 0x1400ac52b
mov rcx, rax
mov eax, dword [r14 + 0x3c]
mov dword [r9 + rcx*4], eax
mov eax, dword [r14 + 0x3c]
lea rdx, [rbp + 0x20]
dec eax
mov rcx, rbx
mov dword [r10 + 0x64], eax
call fcn.1400aab60
mov r8d, dword [rsp + 0x64]
xor r9d, r9d
mov rcx, r14
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x12]
call fcn.140065c50
jmp 0x1400acb0e
cmp qword [r15 + 0x30], 0
mov r12, r10
mov qword [rsp + 0x68], r10
jne 0x1400ac84b
mov rax, qword [r15]
cmp dword [rax], 1
jne 0x1400ac84b
mov r12, qword [r15 + 0x28]
cmp dword [r12], 1
jne 0x1400ac848
cmp qword [r12 + 0x30], 0
jne 0x1400ac848
mov r12, qword [r12 + 0x28]
test byte [r12 + 0x48], 0x10
jne 0x1400ac848
mov rax, qword [rax + 8]
mov rdx, qword [rax]
cmp byte [rdx], 0x9b
jne 0x1400ac848
test r8d, r8d
je 0x1400ac848
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax + 8]
mov eax, 0x100
test word [rcx + 2], ax
je 0x1400ac848
test byte [rdx + 4], 0x10
jne 0x1400ac848
mov rdx, qword [r12 + 0x70]
mov esi, 0xfff0bdc0
test rdx, rdx
je 0x1400ac623
mov rax, qword [rbx]
mov esi, r10d
movsxd rcx, dword [rax + 0x28]
test ecx, ecx
jle 0x1400ac623
mov rax, qword [rax + 0x20]
mov r8, rcx
add rax, 0x18
mov rcx, r10
nop
cmp qword [rax], rdx
je 0x1400ac623
inc esi
inc rcx
add rax, 0x20
cmp rcx, r8
jl 0x1400ac610
mov r13d, dword [rbx + 0x50]
mov rcx, rbx
mov qword [rsp + 0x78], r10
mov rdi, r10
lea eax, [r13 + 1]
mov dword [rbx + 0x50], eax
mov eax, dword [r12 + 0x3c]
mov dword [rsp + 0x70], eax
mov rax, qword [rbx + 0x1c0]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x16c]
bt eax, esi
jb 0x1400ac68e
bts eax, esi
movsxd r9, esi
mov dword [rcx + 0x16c], eax
mov r8, r9
mov rax, qword [rcx]
shl r8, 5
mov rdx, qword [rax + 0x20]
mov rax, qword [r8 + rdx + 0x18]
mov edx, dword [rax]
mov dword [rcx + r9*4 + 0x170], edx
cmp esi, 1
jne 0x1400ac68e
call fcn.14008c920
mov rax, qword [r12]
xor r9d, r9d
mov r8d, dword [r12 + 0x3c]
mov edx, esi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140085220
test byte [r12 + 0x48], 0x20
je 0x1400ac6d2
mov rdi, qword [r12 + 0x10]
test rdi, rdi
je 0x1400ac6d2
nop dword [rax + rax]
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x1400ac6d2
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x1400ac6c0
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x1400ac710
nop dword [rax]
test byte [rax + 0x64], 4
jne 0x1400ac707
movzx ecx, word [rax + 0x5c]
cmp cx, word [r12 + 0x46]
jge 0x1400ac707
cmp qword [rax + 0x48], 0
jne 0x1400ac707
test rdi, rdi
je 0x1400ac704
cmp cx, word [rdi + 0x5c]
jge 0x1400ac707
mov rdi, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1400ac6e0
test rdi, rdi
je 0x1400ac72c
mov eax, dword [rdi + 0x58]
mov rdx, rdi
mov rcx, rbx
mov dword [rsp + 0x70], eax
call fcn.14008d6f0
mov qword [rsp + 0x78], rax
mov r9d, dword [rsp + 0x70]
mov r8d, r13d
mov edx, gethostname
mov dword [rsp + 0x20], esi
mov rcx, r14
call fcn.140065c50
mov esi, 1
mov edx, eax
mov r8d, esi
mov rcx, r14
lea r9d, [rsi - 0xf]
call fcn.140066230
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400ac777
lea r9d, [rsi - 7]
mov r8, rax
lea edx, [rsi - 2]
mov rcx, r14
call fcn.140066230
xor eax, eax
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov edx, 0x32
mov rax, qword [rbp + 0x50]
mov rcx, r14
mov r9d, dword [rax + 0x10]
call fcn.140065c50
xor eax, eax
xor r9d, r9d
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x3d]
call fcn.140065c50
cmp byte [rbx + 0x1f2], 2
jne 0x1400acab2
lea r9, [0x1401baa70]
test rdi, rdi
je 0x1400ac7db
test byte [r12 + 0x48], 0x20
je 0x1400ac7d6
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x1400ac7db
mov rax, qword [rdi]
jmp 0x1400ac7e7
xor eax, eax
mov dword [rbp - 0x10], eax
mov rax, r9
mov rsi, qword [rbp - 0x10]
mov r8, qword [r12]
lea rcx, str._USING_COVERING_INDEX
test esi, esi
mov qword [rsp + 0x20], rax
lea rdx, str.SCAN_TABLE__s_s_s
cmovne r9, rcx
mov rcx, qword [rbx]
call fcn.140047630
mov rsi, qword [rbx + 0x10]
mov rdi, rax
mov r8d, dword [rbx + 0x200]
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov edx, 0x9b
mov rcx, rsi
call fcn.140065c50
mov r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.140066230
jmp 0x1400acab2
mov r12, r10
xor sil, sil
mov rdi, r10
cmp qword [r15 + 0x40], 0
jne 0x1400ac9bb
mov esi, r10d
cmp r8d, 1
jne 0x1400ac973
mov rax, qword [rbp + 0x50]
mov r10, qword [rax]
mov r13, qword [r10 + 0x20]
test r13, r13
je 0x1400ac973
cmp dword [r13], r8d
jne 0x1400ac973
mov rax, qword [r13 + 8]
mov rcx, qword [rax]
cmp byte [rcx], 0x9c
jne 0x1400ac973
mov r10, qword [r10 + 8]
lea rdx, [0x1401c5a5c]
lea r11, [0x1401be3b0]
movzx r8d, byte [r10]
movzx r9d, r8b
test r8b, r8b
je 0x1400ac901
mov r11, r10
lea r15, [0x1401be3b0]
sub r11, rdx
movzx ecx, r8b
nop word [rax + rax]
movzx eax, byte [rdx]
movzx r9d, cl
movzx ecx, cl
movzx eax, byte [rax + r15]
cmp byte [rcx + r15], al
jne 0x1400ac8f6
movzx ecx, byte [rdx + r11 + 1]
inc rdx
movzx r9d, cl
test cl, cl
jne 0x1400ac8d0
mov r15, qword [rbp - 0x38]
lea r11, [0x1401be3b0]
movzx eax, byte [rdx]
movzx ecx, byte [rax + r11]
movzx eax, r9b
movzx eax, byte [rax + r11]
cmp eax, ecx
jne 0x1400ac91d
mov esi, 1
jmp 0x1400ac970
lea rdx, [0x1401c5a60]
test r8b, r8b
je 0x1400ac956
movzx eax, r8b
sub r10, rdx
movzx ecx, al
movzx r8d, al
movzx eax, byte [rdx]
movzx eax, byte [rax + r11]
cmp byte [rcx + r11], al
jne 0x1400ac956
movzx eax, byte [rdx + r10 + 1]
inc rdx
movzx r8d, al
test al, al
jne 0x1400ac930
movzx eax, r8b
movzx ecx, byte [rax + r11]
movzx eax, byte [rdx]
movzx eax, byte [rax + r11]
cmp ecx, eax
jne 0x1400ac973
mov esi, 2
mov rdi, r13
test sil, sil
je 0x1400ac9bb
mov r13, qword [rsp + 0x58]
xor r8d, r8d
mov rcx, r13
mov rdx, rdi
call fcn.14007b020
mov qword [rsp + 0x68], rax
mov rdi, rax
mov r12, rax
test rax, rax
je 0x1400ac9bb
cmp byte [r13 + 0x50], 0
jne 0x1400ac9bb
mov rax, qword [rax + 8]
cmp sil, 1
setne cl
mov byte [rax + 0x18], cl
mov rax, qword [r12 + 8]
mov rcx, qword [rax]
mov byte [rcx], 0x9a
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.1400aab60
mov r8, qword [rsp + 0x78]
mov r9, rdi
mov rdx, qword [rbp - 0x68]
mov rcx, rbx
movzx eax, sil
xor esi, esi
mov dword [rsp + 0x30], esi
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], rsi
call fcn.1400bc560
mov rdi, rax
test rax, rax
jne 0x1400aca0c
mov rdi, qword [rsp + 0x58]
mov rdx, r12
mov rcx, rdi
call fcn.14007b850
jmp 0x1400acc95
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.1400aac60
cmp byte [rdi + 0x34], sil
jle 0x1400aca35
mov r9d, dword [rdi + 0x44]
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], esi
lea edx, [r8 + 0x10]
call fcn.140065c50
mov rcx, rdi
call fcn.1400bd150
mov r12d, esi
mov r13, qword [rbx + 0x10]
cmp dword [rbp + 0x58], esi
jle 0x1400acab4
mov rsi, qword [rbp + 0x50]
add rsi, 0x10
xor r15d, r15d
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsi - 0x10]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1400aca72
mov r9d, dword [rcx]
jmp 0x1400aca75
mov r9d, r15d
mov r8d, dword [rsi]
mov edx, 0x8c
mov rdi, qword [rsi - 8]
mov rcx, r13
mov dword [rsp + 0x20], r15d
call fcn.140065c50
mov r9d, 0xfffffffb
mov r8, rdi
mov edx, eax
mov rcx, r13
call fcn.140066230
inc r12d
add rsi, 0x18
cmp r12d, dword [rbp + 0x58]
jl 0x1400aca60
mov r15, qword [rbp - 0x38]
xor esi, esi
mov edi, dword [rbp - 0x78]
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rbp - 0x18]
mov r8d, edi
mov rcx, rbx
mov qword [rbp - 8], rsi
call fcn.14007fb90
mov rax, qword [rbp - 0x58]
mov r9d, 0xffffffff
mov r8, qword [r15]
mov rdx, r15
mov dword [rsp + 0x40], edi
mov rcx, rbx
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.1400a41a0
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
call fcn.14007b850
movsxd rax, dword [rbp - 0x24]
mov rdx, qword [r14 + 0x30]
test eax, eax
js 0x1400acb31
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x1400acb31
mov rcx, rax
mov eax, dword [r14 + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [r14 + 0x3c]
mov r13, qword [rbp - 0x68]
dec eax
mov dword [rdx + 0x64], eax
cmp byte [rbp + 0x99], 3
jne 0x1400acba0
cmp byte [rbx + 0x1f2], 2
jne 0x1400acba0
mov rcx, qword [rbx]
lea r8, str.DISTINCT
mov rsi, qword [rbx + 0x10]
lea rdx, str.USE_TEMP_B_TREE_FOR__s
call fcn.140047630
mov r8d, dword [rbx + 0x200]
xor r12d, r12d
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov edx, 0x9b
mov rcx, rsi
mov rdi, rax
call fcn.140065c50
lea r9d, [r12 - 1]
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.140066230
jmp 0x1400acba3
xor r12d, r12d
cmp qword [rbp - 8], 0
je 0x1400acc33
cmp dword [rbp], 0
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea r8, str.ORDER_BY
cmovg r8, rax
cmp byte [rbx + 0x1f2], 2
jne 0x1400acc12
mov rcx, qword [rbx]
lea rdx, str.USE_TEMP_B_TREE_FOR__s
mov rsi, qword [rbx + 0x10]
call fcn.140047630
mov r8d, dword [rbx + 0x200]
xor r9d, r9d
mov edx, 0x9b
mov dword [rsp + 0x20], r12d
mov rcx, rsi
mov rdi, rax
call fcn.140065c50
mov r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.140066230
mov rdi, qword [rbp - 0x60]
lea r8, [rbp - 8]
mov rsi, qword [rbp - 0x58]
mov rdx, r15
mov rcx, rbx
mov qword [rsp + 0x20], rsi
mov r9d, dword [rdi]
call fcn.1400a4fd0
jmp 0x1400acc3b
mov rdi, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x58]
movsxd rax, dword [rbp - 0x70]
mov r8, qword [r14 + 0x30]
test eax, eax
js 0x1400acc5d
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1400acc5d
mov rcx, rax
mov eax, dword [r14 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r14 + 0x3c]
mov ecx, dword [rsp + 0x60]
dec eax
mov dword [r8 + 0x64], eax
mov dword [rbx + 0x200], ecx
cmp byte [rsi], 9
jne 0x1400acc89
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call fcn.1400a5820
xor eax, eax
mov r12d, eax
mov rdi, qword [rsp + 0x58]
jmp 0x1400acca5
mov rdi, qword [rsp + 0x58]
mov r12d, 1
mov ecx, dword [rsp + 0x60]
mov dword [rbx + 0x200], ecx
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x1400accf5
cmp qword [rdi + 0x320], 0
je 0x1400accc5
mov rdx, rcx
mov rcx, rdi
call fcn.1400456d0
jmp 0x1400accf5
cmp rcx, qword [rdi + 0x168]
jb 0x1400accf0
cmp rcx, qword [rdi + 0x170]
jae 0x1400accf0
mov rax, qword [rdi + 0x160]
mov qword [rcx], rax
dec dword [rdi + 0x14c]
mov qword [rdi + 0x160], rcx
jmp 0x1400accf5
call fcn.140045620
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x1400acd59
cmp qword [rdi + 0x320], 0
je 0x1400acd1b
mov rdx, rcx
mov rcx, rdi
call fcn.1400456d0
mov eax, r12d
jmp 0x1400ab5e1
mov rcx, qword [rbp + 0x50]
cmp rcx, qword [rdi + 0x168]
jb 0x1400acd50
cmp rcx, qword [rdi + 0x170]
jae 0x1400acd50
mov rax, qword [rdi + 0x160]
mov qword [rcx], rax
mov eax, r12d
dec dword [rdi + 0x14c]
mov qword [rdi + 0x160], rcx
jmp 0x1400ab5e1
mov rcx, qword [rbp + 0x50]
call fcn.140045620
mov eax, r12d
jmp 0x1400ab5e1