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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x14017e7c0]
xor rax, rsp
mov qword [rbp + 0xc8], rax
mov eax, dword [rcx + 0x200]
mov r12d, 1
mov rbx, qword [rcx]
mov r13, r8
mov dword [rsp + 0x70], eax
mov rdi, rdx
mov eax, dword [rcx + 0x204]
mov r15, rcx
mov dword [rcx + 0x200], eax
inc eax
mov qword [rbp - 0x68], r8
mov qword [rsp + 0x68], rdx
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x78], r12
mov dword [rcx + 0x204], eax
mov qword [rbp - 0x30], rbx
test rdx, rdx
je 0x140090f5f
cmp byte [rbx + 0x50], 0
jne 0x140090f5f
cmp dword [rcx + 0x4c], 0
jne 0x140090f5f
xor r14d, r14d
cmp byte [rbx + 0xa1], r14b
jne 0x14008ead2
cmp byte [rcx + 0x1f3], r14b
jne 0x14008ead2
mov r10, qword [rbx + 0x178]
test r10, r10
je 0x14008ead2
mov rax, qword [rcx + 0x230]
xor r9d, r9d
mov rcx, qword [rbx + 0x180]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov edx, reloc.WS2_32.dll_setsockopt
mov qword [rsp + 0x20], r14
call r10
mov esi, eax
cmp eax, r12d
jne 0x14008eaad
lea rdx, str.not_authorized
mov rcx, r15
call fcn.14001fcd0
mov dword [r15 + 0x18], reloc.WS2_32.dll_socket
jmp 0x14008eaca
test eax, 0xfffffffd
je 0x14008eaca
lea rdx, str.authorizer_malfunction
mov rcx, r15
mov esi, r12d
call fcn.14001fcd0
mov dword [r15 + 0x18], r12d
test esi, esi
jne 0x140090f5f
cmp byte [r13], 8
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
ja 0x14008ec75
mov r12, qword [rdi + 0x48]
test r12, r12
je 0x14008ec68
mov r13d, r14d
mov rsi, qword [r12 + 8]
cmp dword [r12], r14d
jle 0x14008ebca
nop
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.140055a50
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14008eb6a
cmp qword [rbx + 0x320], r14
je 0x14008eb3a
mov rdx, rcx
mov rcx, rbx
call fcn.14001c990
jmp 0x14008eb6a
cmp rcx, qword [rbx + 0x168]
jb 0x14008eb65
cmp rcx, qword [rbx + 0x170]
jae 0x14008eb65
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x14008eb6a
call fcn.14001c8f0
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14008ebb9
cmp qword [rbx + 0x320], r14
je 0x14008eb89
mov rdx, rcx
mov rcx, rbx
call fcn.14001c990
jmp 0x14008ebb9
cmp rcx, qword [rbx + 0x168]
jb 0x14008ebb4
cmp rcx, qword [rbx + 0x170]
jae 0x14008ebb4
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x14008ebb9
call fcn.14001c8f0
inc r13d
add rsi, 0x28
cmp r13d, dword [r12]
jl 0x14008eb10
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x14008ec1a
cmp qword [rbx + 0x320], r14
je 0x14008ebea
mov rdx, rcx
mov rcx, rbx
call fcn.14001c990
jmp 0x14008ec1a
cmp rcx, qword [rbx + 0x168]
jb 0x14008ec15
cmp rcx, qword [rbx + 0x170]
jae 0x14008ec15
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x14008ec1a
call fcn.14001c8f0
cmp qword [rbx + 0x320], r14
je 0x14008ec30
mov rdx, r12
mov rcx, rbx
call fcn.14001c990
jmp 0x14008ec64
cmp r12, qword [rbx + 0x168]
jb 0x14008ec5c
cmp r12, qword [rbx + 0x170]
jae 0x14008ec5c
mov rax, qword [rbx + 0x160]
mov qword [r12], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], r12
jmp 0x14008ec64
mov rcx, r12
call fcn.14001c8f0
mov r13, qword [rbp - 0x68]
mov eax, 0xfffe
mov qword [rdi + 0x48], r14
and word [rdi + 0xa], ax
xor r8d, r8d
mov rdx, rdi
mov rcx, r15
call fcn.14008e430
xorps xmm0, xmm0
mov rax, qword [rdi + 0x48]
mov rdx, qword [rdi + 0x28]
mov rsi, qword [rdi]
movdqu xmmword [rbp], xmm0
mov qword [rbp - 8], rax
mov qword [rbp - 0x60], rdx
mov qword [rbp + 0x10], r14
cmp dword [r15 + 0x4c], r14d
jne 0x14008ed40
cmp byte [rbx + 0x50], r14b
jne 0x14008ed40
mov r12, qword [r15 + 0x10]
movzx eax, word [rdi + 0xa]
shr eax, 2
and eax, 1
mov qword [rbp - 0x38], r12
mov dword [rsp + 0x58], eax
test r12, r12
jne 0x14008ed21
mov rcx, r15
call fcn.14003f730
mov qword [rbp - 0x38], rax
mov r12, rax
mov qword [r15 + 0x10], rax
test rax, rax
je 0x14008ed01
xor r9d, r9d
mov dword [rsp + 0x20], r14d
xor r8d, r8d
mov edx, 0x99
mov rcx, rax
call fcn.14003f920
mov rdx, qword [rbp - 0x60]
cmp qword [r15 + 0x1c0], r14
jne 0x14008ed1c
mov rax, qword [r15]
test byte [rax + 0x4c], 8
jne 0x14008ed1c
mov byte [r15 + 0x23], 1
test r12, r12
je 0x14008ed40
cmp dword [rsi], 1
movzx eax, byte [r13]
jle 0x14008ed7b
sub al, 0xa
cmp al, 1
ja 0x14008ed7b
lea rdx, str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
mov rcx, r15
call fcn.14001fcd0
mov ecx, dword [rsp + 0x70]
mov edi, 1
mov dword [r15 + 0x200], ecx
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x140090eff
cmp qword [rbx + 0x320], 0
je 0x140090ecf
mov rdx, rcx
mov rcx, rbx
call fcn.14001c990
jmp 0x140090eff
mov rcx, qword [rdi + 0x50]
mov r13d, r14d
mov dword [rsp + 0x5c], r14d
test rcx, rcx
jne 0x14008f0eb
mov rax, r14
mov qword [rsp + 0x78], rax
cmp dword [rdx], r14d
jle 0x14008f0eb
imul rsi, rax, 0x78
add rsi, rdx
mov r11, qword [rsi + 0x30]
mov qword [rbp - 0x28], r11
test r11, r11
je 0x14008f0c1
mov r9d, dword [rsi + 0x38]
test r9d, r9d
je 0x14008edeb
test byte [rsi + 0x48], 4
jne 0x14008f0c1
mov r8d, dword [rsi + 0x3c]
mov edx, reloc.WS2_32.dll_recvfrom
mov rcx, r12
mov dword [rsp + 0x20], r14d
call fcn.14003f920
mov rdx, qword [rbp - 0x60]
jmp 0x14008f0c1
lea rdx, [rbp + 0x98]
mov dword [rbp + 0x98], r14d
mov rcx, rdi
call fcn.140054d40
mov eax, dword [rbp + 0x98]
mov rdx, rdi
add dword [r15 + 0x1fc], eax
mov rcx, r15
movzx r13d, word [r11 + 0xa]
mov r9d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
shr r13d, 2
and r13d, 1
mov dword [rsp + 0x20], r13d
call fcn.14008be20
test eax, eax
je 0x14008ee5f
test r13d, r13d
je 0x14008ee4b
or word [rdi + 0xa], 4
mov dword [rsp + 0x58], 1
mov r13d, 0xffffffff
mov qword [rsp + 0x78], 0xffffffffffffffff
jmp 0x14008f074
mov rax, qword [rbp - 0x60]
cmp dword [rax], 1
jne 0x14008ef4e
mov eax, 0x100
test word [rbx + 0x4c], ax
jne 0x14008ef4e
mov eax, dword [r12 + 0x3c]
xor r9d, r9d
inc dword [r15 + 0x54]
mov edx, reloc.WS2_32.dll_sendto
mov r8d, dword [r15 + 0x54]
mov rcx, r12
mov dword [rsp + 0x54], eax
lea edi, [rax + 1]
mov dword [rsi + 0x3c], r8d
mov dword [rsp + 0x20], edi
call fcn.14003f920
mov eax, dword [rsi + 0x3c]
lea r8, [rbp + 0xb0]
mov r13, qword [rbp - 0x28]
mov rcx, r15
mov dword [rsi + 0x38], edi
mov rdx, r13
mov dword [rbp + 0xb4], eax
movzx eax, byte [r15 + 0x204]
mov word [rbp + 0xb0], reloc.WS2_32.dll_listen
mov qword [rbp + 0xb8], r14
mov byte [rsi + 0x4c], al
call fcn.14008e9b0
mov rcx, qword [r13 + 0x20]
call fcn.140020e80
mov rcx, qword [rsi + 0x28]
xor r9d, r9d
mov edx, reloc.WS2_32.dll_setsockopt
mov dword [rsp + 0x20], r14d
mov word [rcx + 0x38], ax
mov rcx, r12
or dword [rsi + 0x48], 4
mov eax, dword [rbp + 0xb8]
mov r8d, dword [rsi + 0x3c]
mov dword [rsi + 0x40], eax
call fcn.14003f920
mov eax, dword [rsp + 0x54]
mov edx, dword [r12 + 0x3c]
cmp edx, eax
jbe 0x14008ef35
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
dec ecx
mov rdi, qword [rsp + 0x68]
mov dword [rax + 0x64], ecx
jmp 0x14008f067
mov r9d, dword [r15 + 0x54]
xor r8d, r8d
inc r9d
mov dword [rbp + 0x98], r14d
mov dword [r15 + 0x54], r9d
mov edx, 0x19
mov rcx, r12
mov dword [rsi + 0x3c], r9d
mov dword [rsp + 0x20], r14d
call fcn.14003f920
test byte [rsi + 0x48], 2
mov dword [rsp + 0x54], eax
lea ecx, [rax + 1]
mov dword [rsi + 0x38], ecx
jne 0x14008efb8
mov rcx, r15
call fcn.140088a20
mov r8d, dword [r15 + 0x5c]
xor r9d, r9d
mov edx, 0x2c
mov dword [rsp + 0x20], r14d
lea ecx, [r8 + 1]
mov dword [r15 + 0x5c], ecx
mov rcx, rax
call fcn.14003f920
mov dword [rbp + 0x98], eax
mov ecx, dword [rsi + 0x50]
lea r8, [rbp + 0xb0]
mov r13, qword [rbp - 0x28]
mov dword [rbp + 0xb4], ecx
mov rdx, r13
movzx ecx, byte [r15 + 0x204]
mov word [rbp + 0xb0], ntohs
mov qword [rbp + 0xb8], r14
mov byte [rsi + 0x4c], cl
mov rcx, r15
call fcn.14008e9b0
mov rcx, qword [r13 + 0x20]
call fcn.140020e80
mov rcx, qword [rsi + 0x28]
mov word [rcx + 0x38], ax
mov eax, dword [rbp + 0x98]
test eax, eax
je 0x14008f032
mov edx, dword [r12 + 0x3c]
cmp edx, eax
jbe 0x14008f023
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov r8d, dword [rsi + 0x3c]
xor r9d, r9d
mov edx, reloc.WS2_32.dll_select
mov dword [rsp + 0x20], r14d
mov rcx, r12
call fcn.14003f920
mov r8d, eax
mov eax, dword [rsp + 0x54]
cmp dword [r12 + 0x3c], eax
jbe 0x14008f067
mov rcx, qword [r12 + 8]
lea rdx, [rax + rax*2]
mov dword [rcx + rdx*8 + 4], r8d
mov r13d, dword [rsp + 0x5c]
mov dword [r15 + 0x44], r14d
mov byte [r15 + 0x1f], r14b
cmp byte [rbx + 0x50], r14b
jne 0x14008ed40
lea rdx, [rbp + 0x98]
mov dword [rbp + 0x98], r14d
mov rcx, rdi
call fcn.140054d40
mov edx, dword [r15 + 0x1fc]
sub edx, dword [rbp + 0x98]
mov rax, qword [rbp - 0x68]
mov dword [r15 + 0x1fc], edx
mov rdx, qword [rdi + 0x28]
mov qword [rbp - 0x60], rdx
cmp byte [rax], 8
jbe 0x14008f0c1
mov rax, qword [rdi + 0x48]
mov qword [rbp - 8], rax
mov rax, qword [rsp + 0x78]
inc r13d
mov rcx, qword [rdi + 0x50]
inc rax
mov dword [rsp + 0x5c], r13d
mov qword [rsp + 0x78], rax
test rcx, rcx
jne 0x14008f0eb
mov rcx, r14
cmp r13d, dword [rdx]
jl 0x14008eda1
mov rax, qword [rdi + 0x30]
mov r8, qword [rdi]
mov r13, qword [rdi + 0x38]
mov rdx, qword [rdi + 0x40]
mov qword [rbp - 0x50], rax
movzx eax, byte [rdi + 0xa]
and al, 1
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x28], rdx
mov byte [rbp + 0xa0], al
test rcx, rcx
je 0x14008f13b
mov r8, qword [rbp - 0x68]
mov rdx, rdi
mov rcx, r15
call fcn.140089600
mov ecx, dword [rsp + 0x70]
mov dword [r15 + 0x200], ecx
jmp 0x140090f62
movzx eax, byte [rdi + 0xa]
and al, 5
cmp al, 1
jne 0x14008f15b
mov rcx, qword [rbp - 8]
mov qword [rbp - 0x10], rcx
test rcx, rcx
jne 0x14008f1d0
test r8, r8
je 0x14008f246
mov rdx, qword [rbp - 8]
test rdx, rdx
je 0x14008f26c
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
call fcn.140087140
mov r8d, dword [r15 + 0x50]
mov rsi, rax
mov r9, qword [rsp + 0x78]
mov dword [rbp + 4], r8d
mov dword [rsp + 0x20], r14d
lea ecx, [r8 + 1]
mov dword [r15 + 0x50], ecx
mov rcx, qword [rbp - 8]
mov r9d, dword [r9]
mov edx, dword [rcx]
mov rcx, r12
inc edx
add r9d, edx
mov edx, reloc.WS2_32.dll_gethostname
call fcn.14003f920
mov r9d, 0xfffffffa
mov r8, rsi
mov edx, eax
mov rcx, r12
mov edi, eax
call fcn.14003ff50
mov dword [rbp + 0x10], edi
mov rdi, qword [rsp + 0x68]
jmp 0x14008f273
test r8, r8
je 0x14008f15b
mov rax, qword [rbp - 8]
mov edx, dword [rax]
cmp edx, dword [r8]
jne 0x14008f15b
mov dword [rbp + 0x98], r14d
test edx, edx
jle 0x14008f246
mov rsi, r14
mov rdx, qword [r8 + 8]
mov rcx, qword [rcx + 8]
movzx eax, byte [rdx + rsi + 0x18]
cmp byte [rcx + rsi + 0x18], al
jne 0x14008f15b
mov rdx, qword [rdx + rsi]
mov r8d, 0xffffffff
mov rcx, qword [rcx + rsi]
call fcn.14005be80
test eax, eax
jne 0x14008f15b
mov ecx, dword [rbp + 0x98]
add rsi, 0x28
mov rax, qword [rbp - 0x10]
inc ecx
mov r8, qword [rsp + 0x78]
mov dword [rbp + 0x98], ecx
cmp ecx, dword [rax]
mov rcx, rax
jl 0x14008f1f2
mov rdx, qword [rdi]
mov ecx, 0xfffe
and word [rdi + 0xa], cx
xor r8d, r8d
mov rcx, rbx
call fcn.140056360
mov r13, rax
mov qword [rbp - 0x70], rax
mov qword [rdi + 0x38], rax
mov qword [rbp - 8], r14
mov dword [rbp + 0x10], 0xffffffff
mov rcx, qword [rbp - 0x68]
cmp byte [rcx], 0xc
jne 0x14008f29a
mov rax, qword [rsp + 0x78]
mov edx, reloc.WS2_32.dll_gethostname
mov r8d, dword [rcx + 4]
mov rcx, r12
mov dword [rsp + 0x20], r14d
mov r9d, dword [rax]
call fcn.14003f920
mov rcx, r12
call fcn.14003fa60
movabs rcx, 0x7fffffffffffffff
mov dword [rbp - 0x10], eax
mov qword [rdi + 0x20], rcx
mov r8d, eax
mov rcx, r15
mov rdx, rdi
call fcn.140088aa0
cmp dword [rdi + 0xc], r14d
jne 0x14008f2f6
movsxd rdx, dword [rbp + 0x10]
test edx, edx
js 0x14008f2f6
mov rcx, qword [r12]
cmp byte [rcx + 0x50], r14b
je 0x14008f2e2
lea rax, [0x1401823f0]
jmp 0x14008f2ef
mov rax, qword [r12 + 8]
lea rcx, [rdx + rdx*2]
lea rax, [rax + rcx*8]
mov byte [rax], 0x3a
or byte [rbp + 0x14], 1
test byte [rdi + 0xa], 1
je 0x14008f381
mov eax, dword [r15 + 0x50]
xor r9d, r9d
mov dword [rbp + 0xa4], eax
xor r8d, r8d
inc eax
mov rcx, r15
mov dword [r15 + 0x50], eax
mov rdx, qword [rdi]
call fcn.140087140
mov r8d, dword [rbp + 0xa4]
xor r9d, r9d
mov edx, reloc.WS2_32.dll_gethostname
mov dword [rsp + 0x20], r14d
mov rcx, r12
mov rsi, rax
call fcn.14003f920
mov r9d, 0xfffffffa
mov r8, rsi
mov edx, eax
mov rcx, r12
mov edi, eax
call fcn.14003ff50
mov dword [rbp + 0xa8], edi
mov rdx, qword [r12 + 8]
test rdx, rdx
je 0x14008f373
movsxd rax, dword [r12 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
mov rdi, qword [rsp + 0x68]
mov byte [rbp + 0xa1], 3
jmp 0x14008f388
mov byte [rbp + 0xa1], r14b
cmp dword [rsp + 0x58], r14d
jne 0x14008f4e6
test r13, r13
jne 0x14008f4e6
movzx eax, byte [rbp + 0xa0]
mov r9, qword [rbp - 8]
neg al
mov rax, qword [rdi]
mov r8, qword [rbp - 0x50]
sbb cx, cx
mov rdx, qword [rbp - 0x60]
and cx, 0x400
mov dword [rsp + 0x30], r14d
mov word [rsp + 0x28], cx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.1400a3980
mov rsi, rax
test rax, rax
je 0x14008ed40
mov rcx, rax
call fcn.140099cc0
cmp rax, qword [rdi + 0x20]
jae 0x14008f3f9
mov rcx, rsi
call fcn.140099cc0
mov qword [rdi + 0x20], rax
cmp byte [rbp + 0xa0], r14b
je 0x14008f418
movzx ecx, byte [rsi + 0x38]
movzx eax, byte [rbp + 0xa1]
test cl, cl
cmovne eax, ecx
mov byte [rbp + 0xa1], al
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x14008f432
movsx eax, byte [rsi + 0x34]
mov dword [rbp], eax
cmp eax, dword [rcx]
cmove rcx, r14
mov qword [rbp - 8], rcx
movsxd r13, dword [rbp + 0x10]
test r13d, r13d
js 0x14008f492
test rcx, rcx
jne 0x14008f492
cmp r13d, dword [r12 + 0x3c]
jge 0x14008f492
mov rax, qword [r12 + 8]
lea rcx, [r13*2]
add rcx, r13
movsx edx, byte [rax + rcx*8 + 1]
lea rdi, [rax + rcx*8]
mov r8, qword [rdi + 0x10]
mov rcx, qword [r12]
call fcn.14003fd20
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov eax, dword [r12 + 0x3c]
mov rdi, qword [rsp + 0x68]
dec eax
cmp r13d, eax
jne 0x14008f492
mov dword [r12 + 0x3c], eax
mov eax, dword [rsi + 0x44]
mov r9d, 0xffffffff
mov r8, qword [rsp + 0x78]
mov rdx, rdi
mov dword [rsp + 0x40], eax
mov rcx, r15
mov eax, dword [rsi + 0x40]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.140086530
mov rcx, rsi
call fcn.1400a43a0
mov r13, qword [rsp + 0x68]
jmp 0x140090d7b
mov dword [rsp + 0x74], r14d
mov dword [rsp + 0x50], r14d
test r13, r13
je 0x14008f5bd
mov rax, qword [rdi]
mov ecx, dword [rax]
mov rdx, qword [rax + 8]
test ecx, ecx
jle 0x14008f51e
lea rax, [rdx + 0x22]
nop word [rax + rax]
dec ecx
mov word [rax], r14w
lea rax, [rax + 0x28]
test ecx, ecx
jg 0x14008f510
mov eax, dword [r13]
mov rcx, qword [r13 + 8]
test eax, eax
jle 0x14008f53e
add rcx, 0x22
nop
dec eax
mov word [rcx], r14w
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x14008f530
cmp qword [rdi + 0x20], 0x64
jbe 0x14008f54d
mov qword [rdi + 0x20], 0x64
mov rdx, qword [rbp - 8]
mov qword [rbp - 0x80], rdx
test rdx, rdx
je 0x14008f5d0
mov eax, dword [r13]
cmp eax, dword [rdx]
jne 0x14008f5d0
mov dword [rbp + 0x98], r14d
test eax, eax
jle 0x14008f5b6
mov rsi, r14
mov rdx, qword [rdx + 8]
mov rcx, qword [r13 + 8]
movzx eax, byte [rdx + rsi + 0x18]
cmp byte [rcx + rsi + 0x18], al
jne 0x14008f5d0
mov rdx, qword [rdx + rsi]
mov r8d, 0xffffffff
mov rcx, qword [rcx + rsi]
call fcn.14005be80
test eax, eax
jne 0x14008f5d0
mov ecx, dword [rbp + 0x98]
add rsi, 0x28
mov rdx, qword [rbp - 0x80]
inc ecx
mov dword [rbp + 0x98], ecx
cmp ecx, dword [r13]
jl 0x14008f570
mov dword [rsp + 0x60], r14d
jmp 0x14008f5d8
mov qword [rdi + 0x20], 1
mov dword [rsp + 0x60], r14d
cmp qword [rbp - 8], r14
je 0x14008f5d8
mov dword [rsp + 0x60], 1
mov rcx, r12
call fcn.14003fa60
mov dword [rsp + 0x5c], eax
xorps xmm0, xmm0
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0x20]
mov qword [rbp + 0x78], rax
mov eax, dword [r15 + 0x54]
inc eax
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x90], r14
mov qword [rbp + 0x60], r15
mov dword [rbp + 0x30], eax
movdqu xmmword [rbp + 0x80], xmm0
test r13, r13
je 0x14008f625
mov eax, dword [r13]
mov dword [rbp + 0x2c], eax
jmp 0x14008f629
mov dword [rbp + 0x2c], r14d
mov rax, qword [rsp + 0x78]
mov qword [rbp + 0x38], r13
test rax, rax
je 0x14008f670
mov rsi, qword [rax + 8]
cmp dword [rax], r14d
jle 0x14008f670
mov r15d, r14d
mov rbx, rax
nop word [rax + rax]
mov rdx, qword [rsi]
lea rcx, [rbp + 0x60]
call fcn.14005c4e0
inc r15d
lea rsi, [rsi + 0x28]
cmp r15d, dword [rbx]
jl 0x14008f650
mov rbx, qword [rbp - 0x30]
mov r15, qword [rbp - 0x18]
mov rax, qword [rbp - 8]
test rax, rax
je 0x14008f6b1
mov rsi, qword [rax + 8]
cmp dword [rax], r14d
jle 0x14008f6b1
mov edi, r14d
mov r13, rax
nop dword [rax + rax]
mov rdx, qword [rsi]
lea rcx, [rbp + 0x60]
call fcn.14005c4e0
inc edi
lea rsi, [rsi + 0x28]
cmp edi, dword [r13]
jl 0x14008f690
mov rdi, qword [rsp + 0x68]
mov r13, qword [rbp - 0x70]
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x14008f6c6
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.14005c4e0
mov r8d, dword [rbp + 0x58]
mov r9d, r14d
mov eax, dword [rbp + 0x48]
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x98], r14d
test r8d, r8d
jle 0x14008f789
movzx edx, word [rbp + 0x90]
mov r15, r14
mov r12d, 0xfff7
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + 0x50]
or dx, 8
mov word [rbp + 0x90], dx
mov rcx, qword [r15 + rax]
mov r13, qword [rcx + 0x20]
test r13, r13
je 0x14008f75a
mov esi, r14d
mov rdi, qword [r13 + 8]
cmp dword [r13], r14d
jle 0x14008f75a
nop dword [rax]
mov rdx, qword [rdi]
lea rcx, [rbp + 0x60]
call fcn.14005c4e0
inc esi
lea rdi, [rdi + 0x28]
cmp esi, dword [r13]
jl 0x14008f730
mov r8d, dword [rbp + 0x58]
movzx edx, word [rbp + 0x90]
mov r9d, dword [rbp + 0x98]
and dx, r12w
inc r9d
add r15, 0x18
mov word [rbp + 0x90], dx
mov dword [rbp + 0x98], r9d
cmp r9d, r8d
jl 0x14008f700
mov r15, qword [rbp - 0x18]
mov r12, qword [rbp - 0x38]
mov rdi, qword [rsp + 0x68]
mov r13, qword [rbp - 0x70]
mov eax, dword [r15 + 0x54]
mov dword [rbp + 0x34], eax
cmp byte [rbx + 0x50], r14b
jne 0x14008ed40
test r13, r13
je 0x1400900e9
mov eax, dword [r15 + 0x50]
xor r9d, r9d
mov dword [rbp + 0x24], eax
xor r8d, r8d
inc eax
mov rdx, r13
mov rcx, r15
mov dword [r15 + 0x50], eax
call fcn.140087140
mov r9d, dword [rbp + 0x2c]
mov edx, 0x3a
mov r8d, dword [rbp + 0x24]
mov rcx, r12
mov rsi, rax
mov qword [rbp - 0x58], rax
mov dword [rsp + 0x20], r14d
call fcn.14003f920
mov r9d, 0xfffffffa
mov dword [rbp - 0x70], eax
mov r8, rsi
mov edx, eax
mov rcx, r12
call fcn.14003ff50
mov eax, dword [r15 + 0x54]
mov rcx, r12
inc eax
mov dword [rsp + 0x58], eax
inc eax
mov dword [rbp - 0x20], eax
inc eax
mov dword [rbp - 0x40], eax
mov dword [r15 + 0x54], eax
call fcn.14003fa60
mov dword [rbp - 0x78], eax
mov rcx, r12
mov eax, dword [r15 + 0x54]
inc eax
mov dword [rbp + 0x98], eax
mov dword [r15 + 0x54], eax
call fcn.14003fa60
mov ecx, dword [r15 + 0x54]
mov esi, eax
mov edx, dword [r13]
xor r8d, r8d
mov r9d, dword [rbp - 0x20]
add edx, ecx
mov dword [r15 + 0x54], edx
mov dword [rsp + 0x54], eax
lea eax, [rcx + 1]
mov ecx, dword [r13]
add ecx, edx
mov dword [rbp - 0x48], eax
lea eax, [rdx + 1]
mov dword [r15 + 0x54], ecx
mov rcx, r12
mov dword [rbp - 0x44], eax
mov edx, 0x19
mov dword [rsp + 0x20], r14d
call fcn.14003f920
mov r9d, dword [rsp + 0x58]
xor r8d, r8d
mov edx, 0x19
mov dword [rsp + 0x20], r14d
mov rcx, r12
call fcn.14003f920
mov edx, dword [rbp - 0x48]
xor r8d, r8d
mov r9d, edx
lea ecx, [rdx - 1]
mov edx, 0x1c
add ecx, dword [r13]
mov dword [rsp + 0x20], ecx
mov rcx, r12
call fcn.14003f920
mov r8d, dword [rbp + 0x98]
mov r9d, esi
mov edx, reloc.WS2_32.dll_recvfrom
mov dword [rsp + 0x20], r14d
mov rcx, r12
call fcn.14003f920
mov ecx, 0x900
cmp dword [rsp + 0x60], r14d
mov eax, 0x100
mov r8, qword [rbp - 0x50]
mov r9, r13
mov rdx, qword [rbp - 0x60]
cmove ax, cx
mov dword [rsp + 0x30], r14d
mov rcx, r15
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r14
call fcn.1400a3980
mov qword [rbp - 0x38], rax
mov rdx, rax
test rax, rax
je 0x14008ed40
movsx ecx, byte [rax + 0x34]
cmp ecx, dword [r13]
jne 0x14008f927
mov eax, r14d
mov dword [rbp - 0x50], eax
jmp 0x14008fbac
cmp byte [rbp + 0xa0], r14b
je 0x14008f93d
test byte [rdi + 0xa], 1
lea rdx, str.DISTINCT
je 0x14008f944
lea rdx, str.GROUP_BY
mov rcx, r15
call fcn.140087200
mov edi, dword [r13]
mov esi, edi
mov ecx, dword [rbp + 0x48]
mov edx, edi
mov dword [rbp - 0x50], 1
test ecx, ecx
jle 0x14008f98d
mov r8, qword [rbp + 0x40]
mov r9d, ecx
add r8, 0x10
nop dword [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 0x14008f970
mov ecx, dword [r15 + 0x44]
mov r10d, dword [r15 + 0x48]
mov dword [rsp + 0x50], r10d
cmp esi, ecx
jg 0x14008f9ae
lea eax, [r10 + rsi]
sub ecx, esi
mov dword [r15 + 0x48], eax
mov dword [r15 + 0x44], ecx
jmp 0x14008f9c1
mov eax, dword [r15 + 0x54]
lea r10d, [rax + 1]
add eax, esi
mov dword [r15 + 0x54], eax
mov dword [rsp + 0x50], r10d
mov rcx, r15
call fcn.140059d20
xor r9d, r9d
mov r8d, r10d
mov rdx, r13
call fcn.14005b340
mov r9d, dword [rbp + 0x48]
mov r8d, r14d
mov dword [rsp + 0x74], r14d
test r9d, r9d
jle 0x14008fa72
mov r10d, dword [rsp + 0x50]
mov rcx, r14
mov qword [rbp - 0x80], rcx
add edi, r10d
nop dword [rax + rax]
mov rdx, qword [rbp + 0x40]
mov eax, edi
add rdx, rcx
sub eax, r10d
cmp dword [rdx + 0x10], eax
jl 0x14008fa5d
mov r9d, dword [rdx + 8]
mov rcx, r15
mov r8d, dword [rdx + 0xc]
mov rdx, qword [rdx]
mov byte [rsp + 0x28], r14b
mov dword [rsp + 0x20], edi
call fcn.140059bb0
cmp edi, eax
je 0x14008fa49
mov r9d, edi
mov dword [rsp + 0x20], r14d
mov r8d, eax
mov edx, 0x22
mov rcx, r12
call fcn.14003f920
mov r9d, dword [rbp + 0x48]
inc edi
mov rcx, qword [rbp - 0x80]
mov r8d, dword [rsp + 0x74]
mov r10d, dword [rsp + 0x50]
inc r8d
add rcx, 0x20
mov dword [rsp + 0x74], r8d
mov qword [rbp - 0x80], rcx
cmp r8d, r9d
jl 0x14008fa00
movzx eax, byte [r15 + 0x1f]
test al, al
jne 0x14008fa87
mov edi, dword [r15 + 0x54]
inc edi
mov dword [r15 + 0x54], edi
jmp 0x14008fa95
dec al
movzx eax, al
mov byte [r15 + 0x1f], al
mov edi, dword [r15 + rax*4 + 0x24]
mov r8d, dword [rsp + 0x50]
mov r9d, esi
mov edx, 0x31
mov dword [rsp + 0x20], edi
mov rcx, r12
call fcn.14003f920
mov r8d, dword [rbp + 0x24]
mov r9d, edi
mov edx, WSAGetLastError
mov dword [rsp + 0x20], r14d
mov rcx, r12
call fcn.14003f920
test edi, edi
je 0x14008fb04
cmp byte [r15 + 0x1f], 8
jae 0x14008fb04
mov ecx, r14d
lea rax, [r15 + 0x88]
nop dword [rax]
cmp dword [rax + 0xc], edi
je 0x14008fb00
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x14008fae0
movzx eax, byte [r15 + 0x1f]
mov dword [r15 + rax*4 + 0x24], edi
inc byte [r15 + 0x1f]
jmp 0x14008fb04
mov byte [rax + 6], 1
mov r11d, dword [rsp + 0x50]
mov r8d, esi
mov edx, r11d
mov rcx, r15
call fcn.140059630
cmp esi, dword [r15 + 0x44]
jle 0x14008fb25
mov dword [r15 + 0x44], esi
mov dword [r15 + 0x48], r11d
mov rcx, qword [rbp - 0x38]
call fcn.1400a43a0
mov ecx, dword [r15 + 0x50]
mov dword [rsp + 0x74], ecx
mov dword [rbp + 0x28], ecx
lea eax, [rcx + 1]
mov dword [r15 + 0x50], eax
movzx eax, byte [r15 + 0x1f]
test al, al
jne 0x14008fb55
mov eax, dword [r15 + 0x54]
inc eax
mov dword [r15 + 0x54], eax
jmp 0x14008fb63
dec al
movzx eax, al
mov byte [r15 + 0x1f], al
mov eax, dword [r15 + rax*4 + 0x24]
mov r8d, ecx
mov dword [rsp + 0x50], eax
mov rcx, r12
mov dword [rsp + 0x20], esi
mov r9d, eax
mov edx, 0x3c
call fcn.14003f920
mov r9d, dword [rsp + 0x5c]
mov edx, 0x6a
mov r8d, dword [rbp + 0x24]
mov rcx, r12
mov dword [rsp + 0x20], r14d
call fcn.14003f920
mov rcx, r15
mov byte [rbp + 0x21], 1
call fcn.140059d20
mov eax, dword [rbp - 0x50]
mov rdx, qword [rbp - 0x38]
cmp dword [rsp + 0x60], r14d
jne 0x14008fc10
test byte [rbx + 0x4c], 4
jne 0x14008fc10
test eax, eax
jne 0x14008fbc3
cmp byte [rdx + 0x35], r14b
je 0x14008fc10
movsxd rsi, dword [rbp + 0x10]
mov qword [rbp - 8], r14
cmp esi, dword [r12 + 0x3c]
jge 0x14008fc10
mov rax, qword [r12 + 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 [r12]
call fcn.14003fd20
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov eax, dword [r12 + 0x3c]
dec eax
cmp esi, eax
jne 0x14008fc10
mov dword [r12 + 0x3c], eax
mov eax, dword [r12 + 0x3c]
mov rcx, r15
mov dword [rsp + 0x60], eax
call fcn.140059d20
mov eax, dword [rbp - 0x50]
test eax, eax
je 0x14008fc49
mov eax, dword [rsp + 0x74]
mov edx, 0x64
mov r9d, dword [rsp + 0x50]
mov rcx, r12
mov r8d, dword [rbp + 0x24]
mov dword [rsp + 0x20], eax
call fcn.14003f920
mov eax, dword [rbp - 0x50]
mov edi, r14d
cmp dword [r13], r14d
jle 0x14008fced
mov ebx, dword [rbp - 0x44]
mov rsi, r14
nop dword [rax]
test eax, eax
je 0x14008fcbe
mov ecx, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov dword [rsp + 0x50], ecx
cmp dword [rax + 0x60], ecx
jg 0x14008fc87
mov rcx, r12
call fcn.14003f870
test eax, eax
jne 0x14008fcd6
mov ecx, dword [rsp + 0x50]
inc dword [r12 + 0x3c]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], 0x2f
mov byte [rax + rcx*8 + 3], r14b
mov dword [rax + rcx*8 + 8], edi
lea rdx, [rax + rcx*8]
mov eax, dword [rsp + 0x74]
mov qword [rdx + 0x10], r14
mov dword [rdx + 4], eax
lea eax, [rdi + rbx]
mov dword [rdx + 0xc], eax
jmp 0x14008fcd6
mov byte [rbp + 0x20], 1
lea r8d, [rdi + rbx]
mov rdx, qword [r13 + 8]
mov rcx, r15
mov rdx, qword [rdx + rsi]
call fcn.14005b2e0
mov eax, dword [rbp - 0x50]
inc edi
add rsi, 0x28
cmp edi, dword [r13]
jl 0x14008fc60
mov rbx, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x14008fcf8
inc dword [rdi]
mov eax, dword [r13]
mov edx, 0x2a
mov r9d, dword [rbp - 0x44]
mov rcx, r12
mov r8d, dword [rbp - 0x48]
mov dword [rsp + 0x20], eax
call fcn.14003f920
mov r9d, 0xfffffffa
mov r8, rdi
mov edx, eax
mov rcx, r12
call fcn.14003ff50
mov rax, qword [r12 + 0x30]
mov esi, dword [r12 + 0x3c]
cmp dword [rax + 0x60], esi
jg 0x14008fd43
mov rcx, r12
call fcn.14003f870
test eax, eax
jne 0x14008fd77
inc dword [r12 + 0x3c]
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], 0x2b
mov byte [rax + rcx*8 + 3], r14b
mov dword [rax + rcx*8 + 8], r14d
lea r8, [rax + rcx*8]
lea eax, [rsi + 1]
mov qword [r8 + 0x10], r14
mov dword [r8 + 4], eax
mov dword [r8 + 0xc], eax
mov edi, dword [r13]
mov edx, 0x20
mov r9d, dword [rbp - 0x48]
mov r8d, dword [rbp - 0x44]
mov rcx, qword [r15 + 0x10]
mov dword [rsp + 0x20], edi
call fcn.14003f920
mov edx, dword [rbp - 0x44]
mov r8d, edi
mov rcx, r15
call fcn.140059630
mov r13d, dword [rbp - 0x78]
mov edx, reloc.WS2_32.dll_recvfrom
mov r8d, dword [rbp - 0x40]
mov r9d, r13d
mov rcx, r12
mov dword [rsp + 0x20], r14d
call fcn.14003f920
mov r9d, dword [rsp + 0x5c]
mov edx, 0x89
mov r8d, dword [rbp - 0x20]
mov rcx, r12
mov dword [rsp + 0x20], r14d
call fcn.14003f920
mov r9d, dword [rsp + 0x54]
mov edx, reloc.WS2_32.dll_recvfrom
mov r8d, dword [rbp + 0x98]
mov rcx, r12
mov dword [rsp + 0x20], r14d
call fcn.14003f920
mov edx, dword [r12 + 0x3c]
cmp edx, esi
jbe 0x14008fe0f
mov rax, qword [r12 + 8]
lea rcx, [rsi + rsi*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r12 + 0x3c]
lea rdx, [rbp + 0x20]
mov rax, qword [r12 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov rcx, r15
call fcn.14008e690
mov edi, dword [rsp + 0x58]
mov edx, 0x19
mov r9d, edi
mov dword [rsp + 0x20], r14d
mov r8d, 1
mov rcx, r12
call fcn.14003f920
cmp dword [rbp - 0x50], r14d
je 0x14008fe6c
mov r9d, dword [rsp + 0x60]
mov edx, 5
mov r8d, dword [rbp + 0x24]
mov rcx, r12
mov dword [rsp + 0x20], r14d
call fcn.14003f920
jmp 0x14008fec2
mov rcx, qword [rbp - 0x38]
call fcn.1400a43a0
movsxd rsi, dword [rbp - 0x70]
cmp esi, dword [r12 + 0x3c]
jge 0x14008fec2
mov rax, qword [r12 + 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 [r12]
call fcn.14003fd20
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov eax, dword [r12 + 0x3c]
mov edi, dword [rsp + 0x58]
dec eax
cmp esi, eax
jne 0x14008fec2
mov dword [r12 + 0x3c], eax
mov esi, dword [rbp - 0x40]
mov r9d, r13d
mov r8d, esi
mov dword [rsp + 0x20], r14d
mov edx, reloc.WS2_32.dll_recvfrom
mov rcx, r12
call fcn.14003f920
mov r9d, dword [rsp + 0x5c]
xor r8d, r8d
mov edx, reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], r14d
mov rcx, r12
call fcn.14003f920
mov eax, dword [r12 + 0x3c]
lea r9d, [rdi + 1]
mov edx, 0x19
mov dword [rbp - 0x78], eax
mov r8d, 1
mov dword [rsp + 0x20], r14d
mov rcx, r12
call fcn.14003f920
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov r8d, esi
mov edx, reloc.WS2_32.dll_select
mov rcx, r12
call fcn.14003f920
mov r10, qword [r12 + 0x30]
not r13d
test r13d, r13d
js 0x14008ff58
mov r9, qword [r10 + 0x80]
test r9, r9
je 0x14008ff58
mov eax, dword [r12 + 0x3c]
movsxd rcx, r13d
mov dword [r9 + rcx*4], eax
mov eax, dword [r12 + 0x3c]
mov r8d, edi
dec eax
mov dword [rsp + 0x20], r14d
mov dword [r10 + 0x64], eax
mov edx, 0x89
mov eax, dword [r12 + 0x3c]
mov rcx, r12
mov dword [rbp - 0x70], eax
lea r9d, [rax + 2]
call fcn.14003f920
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov r8d, esi
mov edx, reloc.WS2_32.dll_select
mov rcx, r12
call fcn.14003f920
mov r13d, r14d
mov rax, qword [r15 + 0x10]
cmp dword [rbp + 0x58], r14d
jle 0x140090015
mov rsi, qword [rbp + 0x50]
mov r15, rax
add rsi, 0x10
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsi - 0x10]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14008ffd2
mov r9d, dword [rcx]
jmp 0x14008ffd5
mov r9d, r14d
mov r8d, dword [rsi]
mov edx, 0x8c
mov rdi, qword [rsi - 8]
mov rcx, r15
mov dword [rsp + 0x20], r14d
call fcn.14003f920
mov r9d, 0xfffffffb
mov r8, rdi
mov edx, eax
mov rcx, r15
call fcn.14003ff50
inc r13d
add rsi, 0x18
cmp r13d, dword [rbp + 0x58]
jl 0x14008ffc0
mov r15, qword [rbp - 0x18]
mov esi, dword [rbp - 0x40]
mov edi, dword [rbp - 0x70]
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rbp - 0x28]
inc edi
mov r8d, edi
mov rcx, r15
call fcn.14005ba50
mov eax, dword [rbp - 0x78]
mov r9d, 0xffffffff
mov r13, qword [rsp + 0x68]
mov rcx, r15
mov dword [rsp + 0x40], eax
mov rdx, r13
mov rax, qword [rbp - 0x68]
mov dword [rsp + 0x38], edi
mov r8, qword [r13]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.140086530
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov r8d, esi
mov edx, reloc.WS2_32.dll_select
mov rcx, r12
call fcn.14003f920
mov eax, dword [rsp + 0x54]
mov r10, qword [r12 + 0x30]
not eax
test eax, eax
js 0x1400900b1
mov r9, qword [r10 + 0x80]
test r9, r9
je 0x1400900b1
movsxd rcx, eax
mov eax, dword [r12 + 0x3c]
mov dword [r9 + rcx*4], eax
mov eax, dword [r12 + 0x3c]
lea rdx, [rbp + 0x20]
dec eax
mov rcx, r15
mov dword [r10 + 0x64], eax
call fcn.14008e590
mov r8d, dword [rbp + 0x98]
xor r9d, r9d
mov edx, reloc.WS2_32.dll_select
mov dword [rsp + 0x20], r14d
mov rcx, r12
call fcn.14003f920
jmp 0x140090d4a
mov r13, r14
mov r10d, reloc.WS2_32.dll_recv
cmp qword [rdi + 0x30], r14
jne 0x1400903f3
mov rax, qword [rdi]
cmp dword [rax], 1
jne 0x1400903f3
mov rdx, qword [rdi + 0x28]
cmp dword [rdx], 1
jne 0x1400903f3
cmp qword [rdx + 0x30], r14
jne 0x1400903f3
mov rdx, qword [rdx + 0x28]
mov rax, qword [rax + 8]
mov r9, qword [rax]
test byte [rdx + 0x48], r10b
jne 0x1400903f3
cmp byte [r9], 0x9b
jne 0x1400903f3
test r8d, r8d
je 0x1400903f3
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax + 8]
mov eax, 0x100
test word [rcx + 2], ax
je 0x1400903f3
test byte [r9 + 4], r10b
jne 0x1400903f3
test rdx, rdx
je 0x1400903f3
mov r8, qword [rdx + 0x70]
mov r10d, 0xfff0bdc0
mov dword [rsp + 0x58], r10d
mov rsi, rdx
test r8, r8
je 0x1400901c9
mov rax, qword [r15]
mov r10d, r14d
mov dword [rsp + 0x58], r14d
movsxd rcx, dword [rax + 0x28]
test ecx, ecx
jle 0x1400901c9
mov rax, qword [rax + 0x20]
mov r9, rcx
add rax, 0x18
mov rcx, r14
nop dword [rax]
cmp qword [rax], r8
je 0x1400901c4
inc r10d
inc rcx
add rax, 0x20
cmp rcx, r9
jl 0x1400901b0
mov dword [rsp + 0x58], r10d
mov eax, dword [r15 + 0x50]
mov rcx, r15
mov dword [rbp + 0x98], eax
mov rdi, r14
inc eax
mov qword [rbp - 0x80], r14
mov dword [r15 + 0x50], eax
mov eax, dword [rsi + 0x3c]
mov dword [rsp + 0x54], eax
mov rax, qword [r15 + 0x1c0]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x16c]
bt eax, r10d
jb 0x14009023e
bts eax, r10d
movsxd r9, r10d
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 r10d, 1
jne 0x14009023e
call fcn.14006b1c0
mov r10d, dword [rsp + 0x58]
mov rax, qword [rsi]
xor r9d, r9d
mov r8d, dword [rsi + 0x3c]
mov edx, r10d
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.140061e30
test byte [rsi + 0x48], 0x20
je 0x140090279
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x140090279
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x140090279
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x140090267
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1400902af
test byte [rax + 0x64], 4
jne 0x1400902a6
movzx ecx, word [rax + 0x5c]
cmp cx, word [rsi + 0x46]
jge 0x1400902a6
cmp qword [rax + 0x48], r13
jne 0x1400902a6
test rdi, rdi
je 0x1400902a3
cmp cx, word [rdi + 0x5c]
jge 0x1400902a6
mov rdi, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140090282
test rdi, rdi
je 0x1400902ca
mov eax, dword [rdi + 0x58]
mov rdx, rdi
mov rcx, r15
mov dword [rsp + 0x54], eax
call fcn.14006beb0
mov qword [rbp - 0x80], rax
mov ecx, dword [rsp + 0x58]
mov edx, gethostname
mov r9d, dword [rsp + 0x54]
mov r8d, dword [rbp + 0x98]
mov dword [rsp + 0x20], ecx
mov rcx, r12
call fcn.14003f920
mov r9d, 0xfffffff2
mov r8d, 1
mov edx, eax
mov rcx, r12
call fcn.14003ff50
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x140090320
mov r9d, 0xfffffffa
mov r8, rax
mov edx, 0xffffffff
mov rcx, r12
call fcn.14003ff50
mov r9, qword [rbp + 0x50]
mov edx, 0x32
mov r8d, dword [rbp + 0x98]
mov rcx, r12
mov dword [rsp + 0x20], r14d
mov r9d, dword [r9 + 0x10]
call fcn.14003f920
mov r8d, dword [rbp + 0x98]
xor r9d, r9d
mov edx, 0x3d
mov dword [rsp + 0x20], r14d
mov rcx, r12
call fcn.14003f920
cmp byte [r15 + 0x1f2], 2
jne 0x140090b88
lea r9, [0x14015ac07]
test rdi, rdi
je 0x14009038b
test byte [rsi + 0x48], 0x20
je 0x140090386
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x14009038b
mov rax, qword [rdi]
jmp 0x140090392
mov dword [rbp - 0x78], r14d
mov rax, r9
cmp dword [rbp - 0x78], r13d
lea rcx, str._USING_COVERING_INDEX
mov r8, qword [rsi]
lea rdx, str.SCAN_TABLE__s_s_s
cmovne r9, rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [r15]
call fcn.14001eaf0
mov rsi, qword [r15 + 0x10]
xor r9d, r9d
mov r8d, dword [r15 + 0x200]
mov rcx, rsi
mov edx, 0x9b
mov dword [rsp + 0x20], r14d
mov rdi, rax
call fcn.14003f920
mov r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.14003ff50
jmp 0x140090b88
mov rsi, r14
mov byte [rsp + 0x50], sil
cmp qword [rdi + 0x40], r14
jne 0x14009064b
mov dword [rsp + 0x50], r14d
mov r11d, r14d
mov qword [rbp - 0x78], r14
cmp r8d, 1
jne 0x14009051d
mov rax, qword [rbp + 0x50]
mov rdx, qword [rax]
mov r10, qword [rdx + 0x20]
test r10, r10
je 0x140090517
cmp dword [r10], r8d
jne 0x140090517
mov rax, qword [r10 + 8]
mov rcx, qword [rax]
cmp byte [rcx], 0x9c
jne 0x140090517
mov rdx, qword [rdx + 8]
lea r8, [0x1401616c4]
mov r9, rdx
movzx ecx, byte [rdx]
test cl, cl
je 0x140090493
lea rbx, [0x1401585e0]
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r8]
movzx ecx, cl
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x14009048f
movzx ecx, byte [r9 + 1]
inc r9
inc r8
test cl, cl
jne 0x140090470
mov rbx, qword [rbp - 0x30]
movzx eax, byte [r8]
lea rcx, [0x1401585e0]
movzx ecx, byte [rax + rcx]
movzx eax, byte [r9]
lea r9, [0x1401585e0]
movzx eax, byte [rax + r9]
cmp eax, ecx
jne 0x1400904be
mov r11d, 1
jmp 0x14009050b
movzx eax, byte [rdx]
lea r8, [0x1401616c8]
test al, al
je 0x1400904f0
nop dword [rax]
movzx ecx, al
movzx eax, byte [r8]
movzx eax, byte [rax + r9]
cmp byte [rcx + r9], al
jne 0x1400904f0
movzx eax, byte [rdx + 1]
inc rdx
inc r8
test al, al
jne 0x1400904d0
movzx eax, byte [r8]
movzx ecx, byte [rax + r9]
movzx eax, byte [rdx]
movzx eax, byte [rax + r9]
cmp eax, ecx
jne 0x140090517
mov r11d, 2
mov qword [rbp - 0x78], r10
mov rsi, r10
mov dword [rsp + 0x50], r11d
mov r10d, reloc.WS2_32.dll_recv
test r11b, r11b
je 0x14009064b
test rsi, rsi
je 0x140090648
cmp byte [rbx + 0x50], r13b
jne 0x140090645
cmp byte [rbx + 0x14a], r13b
je 0x140090552
cmp r10w, word [rbx + 0x148]
jbe 0x1400905a6
inc dword [rbx + 0x158]
mov rcx, r10
call fcn.14001c4a0
mov qword [rbp - 0x80], rax
mov r13, rax
test rax, rax
jne 0x14009056a
mov byte [rbx + 0x50], 1
mov rdx, r13
test r13, r13
je 0x140090645
mov eax, dword [rsi]
mov dword [r13], eax
mov eax, 1
mov ecx, dword [rsi]
cmp ecx, eax
jle 0x14009058d
add eax, eax
cmp eax, ecx
jl 0x140090587
cdqe
lea rcx, [rax + rax*4]
shl rcx, 3
cmp byte [rbx + 0x50], r14b
je 0x1400905f0
mov qword [rdx + 8], r14
jmp 0x14009062d
mov r13, qword [rbx + 0x160]
mov qword [rbp - 0x80], r13
test r13, r13
jne 0x1400905be
inc dword [rbx + 0x15c]
jmp 0x140090552
mov rax, qword [r13]
mov qword [rbx + 0x160], rax
mov eax, dword [rbx + 0x14c]
inc eax
mov dword [rbx + 0x14c], eax
inc dword [rbx + 0x154]
cmp eax, dword [rbx + 0x150]
jle 0x1400905eb
mov dword [rbx + 0x150], eax
mov rdx, r13
jmp 0x140090576
cmp byte [rbx + 0x14a], r14b
je 0x14009060f
movzx eax, word [rbx + 0x148]
cmp rcx, rax
jbe 0x1400906d7
inc dword [rbx + 0x158]
call fcn.14001c4a0
mov rsi, rax
test rax, rax
jne 0x140090620
mov byte [rbx + 0x50], 1
mov qword [r13 + 8], rax
test rax, rax
jne 0x14009071e
cmp qword [rbx + 0x320], r14
je 0x140090767
mov rdx, r13
mov rcx, rbx
call fcn.14001c990
mov r13, r14
mov rsi, r14
lea rdx, [rbp + 0x20]
mov rcx, r15
call fcn.14008e590
movzx eax, byte [rsp + 0x50]
mov r9, rsi
mov r8, qword [rbp - 0x50]
mov rcx, r15
mov rdx, qword [rbp - 0x60]
mov dword [rsp + 0x30], r14d
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r14
call fcn.1400a3980
mov rsi, rax
test rax, rax
jne 0x140090adc
test r13, r13
je 0x14008ed40
mov rdi, qword [r13 + 8]
cmp dword [r13], r14d
jle 0x140090a36
mov rdx, qword [rdi]
mov rcx, rbx
call fcn.140055a50
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400909d5
cmp qword [rbx + 0x320], 0
je 0x1400909a5
mov rdx, rcx
mov rcx, rbx
call fcn.14001c990
jmp 0x1400909d5
mov rsi, qword [rbx + 0x160]
test rsi, rsi
jne 0x1400906ee
inc dword [rbx + 0x15c]
jmp 0x14009060f
mov rax, qword [rsi]
mov qword [rbx + 0x160], rax
mov eax, dword [rbx + 0x14c]
inc eax
mov dword [rbx + 0x14c], eax
inc dword [rbx + 0x154]
cmp eax, dword [rbx + 0x150]
jle 0x14009071a
mov dword [rbx + 0x150], eax
mov qword [rdx + 8], rsi
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx + 8]
cmp dword [rcx], r14d
jle 0x14009097a
add rsi, 0x1c
mov r15, rax
mov r12, rcx
mov r13d, r14d
nop dword [rax]
mov rdx, qword [r15]
xor r8d, r8d
mov rcx, rbx
call fcn.140056350
mov qword [rsi - 0x1c], rax
mov rcx, qword [r15 + 8]
mov qword [rbp - 0x58], rcx
test rcx, rcx
jne 0x1400907a3
mov rdi, r14
jmp 0x14009085d
cmp r13, qword [rbx + 0x168]
jb 0x140090796
cmp r13, qword [rbx + 0x170]
jae 0x140090796
mov rax, qword [rbx + 0x160]
mov qword [r13], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], r13
jmp 0x140090645
mov rcx, r13
call fcn.14001c8f0
jmp 0x140090645
mov rax, rcx
cmp byte [rcx], r14b
je 0x1400907b8
nop dword [rax + rax]
inc rax
cmp byte [rax], r14b
jne 0x1400907b0
sub eax, ecx
and eax, 0x3fffffff
lea edx, [rax + 1]
mov qword [rbp - 0x30], rdx
cmp byte [rbx + 0x50], r14b
je 0x1400907d4
mov rdi, r14
jmp 0x14009085d
cmp byte [rbx + 0x14a], r14b
je 0x1400907ef
movzx eax, word [rbx + 0x148]
cmp rdx, rax
jbe 0x140090805
inc dword [rbx + 0x158]
mov rcx, rdx
call fcn.14001c4a0
mov rdi, rax
test rax, rax
jne 0x140090847
mov byte [rbx + 0x50], 1
jmp 0x14009085d
mov rdi, qword [rbx + 0x160]
test rdi, rdi
jne 0x140090819
inc dword [rbx + 0x15c]
jmp 0x1400907ef
mov rax, qword [rdi]
mov qword [rbx + 0x160], rax
mov eax, dword [rbx + 0x14c]
inc eax
mov dword [rbx + 0x14c], eax
inc dword [rbx + 0x154]
cmp eax, dword [rbx + 0x150]
jle 0x14009084f
mov dword [rbx + 0x150], eax
jmp 0x14009084f
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x30]
mov r8, rdx
mov rdx, rcx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi - 0x14], rdi
mov rcx, qword [r15 + 0x10]
mov qword [rbp - 0x58], rcx
test rcx, rcx
jne 0x140090876
mov rdi, r14
jmp 0x14009092d
mov rax, rcx
cmp byte [rcx], r14b
je 0x140090888
nop
inc rax
cmp byte [rax], r14b
jne 0x140090880
sub eax, ecx
and eax, 0x3fffffff
lea edx, [rax + 1]
mov qword [rbp - 0x30], rdx
cmp byte [rbx + 0x50], r14b
je 0x1400908a4
mov rdi, r14
jmp 0x14009092d
cmp byte [rbx + 0x14a], r14b
je 0x1400908bf
movzx eax, word [rbx + 0x148]
cmp rdx, rax
jbe 0x1400908d5
inc dword [rbx + 0x158]
mov rcx, rdx
call fcn.14001c4a0
mov rdi, rax
test rax, rax
jne 0x140090917
mov byte [rbx + 0x50], 1
jmp 0x14009092d
mov rdi, qword [rbx + 0x160]
test rdi, rdi
jne 0x1400908e9
inc dword [rbx + 0x15c]
jmp 0x1400908bf
mov rax, qword [rdi]
mov qword [rbx + 0x160], rax
mov eax, dword [rbx + 0x14c]
inc eax
mov dword [rbx + 0x14c], eax
inc dword [rbx + 0x154]
cmp eax, dword [rbx + 0x150]
jle 0x14009091f
mov dword [rbx + 0x150], eax
jmp 0x14009091f
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x30]
mov r8, rdx
mov rdx, rcx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rsi]
inc r13d
mov qword [rsi - 0xc], rdi
and ecx, 0xfffffffe
movzx eax, byte [r15 + 0x18]
mov byte [rsi - 4], al
mov eax, ecx
mov dword [rsi], ecx
xor eax, dword [r15 + 0x1c]
and eax, 2
xor eax, ecx
mov dword [rsi], eax
mov eax, dword [r15 + 0x20]
add r15, 0x28
mov dword [rsi + 4], eax
add rsi, 0x28
cmp r13d, dword [r12]
jl 0x140090740
mov r15, qword [rbp - 0x18]
mov r12, qword [rbp - 0x38]
mov r13, qword [rbp - 0x80]
mov rdi, qword [rsp + 0x68]
mov rsi, r13
cmp byte [rbx + 0x50], r14b
jne 0x14009064b
mov rax, qword [r13 + 8]
cmp byte [rsp + 0x50], 1
setne cl
mov byte [rax + 0x18], cl
mov rax, qword [r13 + 8]
mov rcx, qword [rax]
mov byte [rcx], 0x9a
jmp 0x14009064b
cmp rcx, qword [rbx + 0x168]
jb 0x1400909d0
cmp rcx, qword [rbx + 0x170]
jae 0x1400909d0
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x1400909d5
call fcn.14001c8f0
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140090a25
cmp qword [rbx + 0x320], 0
je 0x1400909f5
mov rdx, rcx
mov rcx, rbx
call fcn.14001c990
jmp 0x140090a25
cmp rcx, qword [rbx + 0x168]
jb 0x140090a20
cmp rcx, qword [rbx + 0x170]
jae 0x140090a20
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140090a25
call fcn.14001c8f0
inc r14d
add rdi, 0x28
cmp r14d, dword [r13]
jl 0x1400906a1
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x140090a86
cmp qword [rbx + 0x320], 0
je 0x140090a56
mov rdx, rcx
mov rcx, rbx
call fcn.14001c990
jmp 0x140090a86
cmp rcx, qword [rbx + 0x168]
jb 0x140090a81
cmp rcx, qword [rbx + 0x170]
jae 0x140090a81
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140090a86
call fcn.14001c8f0
cmp qword [rbx + 0x320], 0
je 0x140090aa0
mov rdx, r13
mov rcx, rbx
call fcn.14001c990
jmp 0x14008ed40
cmp r13, qword [rbx + 0x168]
jb 0x140090acf
cmp r13, qword [rbx + 0x170]
jae 0x140090acf
mov rax, qword [rbx + 0x160]
mov qword [r13], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], r13
jmp 0x14008ed40
mov rcx, r13
call fcn.14001c8f0
jmp 0x14008ed40
lea rdx, [rbp + 0x20]
mov rcx, r15
call fcn.14008e690
cmp byte [rsi + 0x34], r14b
jle 0x140090b07
mov r9d, dword [rsi + 0x44]
xor r8d, r8d
mov edx, reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], r14d
mov rcx, r12
call fcn.14003f920
mov rcx, rsi
call fcn.1400a43a0
mov rax, qword [r15 + 0x10]
mov dword [rsp + 0x54], r14d
cmp dword [rbp + 0x58], r14d
jle 0x140090b8d
mov rsi, qword [rbp + 0x50]
mov r15, rax
add rsi, 0x10
nop dword [rax]
mov rax, qword [rsi - 0x10]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x140090b42
mov r9d, dword [rcx]
jmp 0x140090b45
mov r9d, r14d
mov r8d, dword [rsi]
mov edx, 0x8c
mov rdi, qword [rsi - 8]
mov rcx, r15
mov dword [rsp + 0x20], r14d
call fcn.14003f920
mov r9d, 0xfffffffb
mov r8, rdi
mov edx, eax
mov rcx, r15
call fcn.14003ff50
mov edx, dword [rsp + 0x54]
add rsi, 0x18
inc edx
mov dword [rsp + 0x54], edx
cmp edx, dword [rbp + 0x58]
jl 0x140090b30
mov r15, qword [rbp - 0x18]
mov rdi, qword [rsp + 0x68]
mov esi, dword [rsp + 0x5c]
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rbp - 0x28]
mov r8d, esi
mov rcx, r15
mov qword [rbp - 8], r14
call fcn.14005ba50
mov rax, qword [rbp - 0x68]
mov r9d, 0xffffffff
mov r8, qword [rdi]
mov rdx, rdi
mov dword [rsp + 0x40], esi
mov rcx, r15
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.140086530
test r13, r13
je 0x140090d45
mov esi, r14d
mov rdi, qword [r13 + 8]
cmp dword [r13], r14d
jle 0x140090cac
mov rdx, qword [rdi]
mov rcx, rbx
call fcn.140055a50
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140090c4d
cmp qword [rbx + 0x320], r14
je 0x140090c1d
mov rdx, rcx
mov rcx, rbx
call fcn.14001c990
jmp 0x140090c4d
cmp rcx, qword [rbx + 0x168]
jb 0x140090c48
cmp rcx, qword [rbx + 0x170]
jae 0x140090c48
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140090c4d
call fcn.14001c8f0
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140090c9c
cmp qword [rbx + 0x320], r14
je 0x140090c6c
mov rdx, rcx
mov rcx, rbx
call fcn.14001c990
jmp 0x140090c9c
cmp rcx, qword [rbx + 0x168]
jb 0x140090c97
cmp rcx, qword [rbx + 0x170]
jae 0x140090c97
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140090c9c
call fcn.14001c8f0
inc esi
add rdi, 0x28
cmp esi, dword [r13]
jl 0x140090bf3
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x140090cfb
cmp qword [rbx + 0x320], r14
je 0x140090ccb
mov rdx, rcx
mov rcx, rbx
call fcn.14001c990
jmp 0x140090cfb
cmp rcx, qword [rbx + 0x168]
jb 0x140090cf6
cmp rcx, qword [rbx + 0x170]
jae 0x140090cf6
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140090cfb
call fcn.14001c8f0
cmp qword [rbx + 0x320], r14
je 0x140090d11
mov rdx, r13
mov rcx, rbx
call fcn.14001c990
jmp 0x140090d45
cmp r13, qword [rbx + 0x168]
jb 0x140090d3d
cmp r13, qword [rbx + 0x170]
jae 0x140090d3d
mov rax, qword [rbx + 0x160]
mov qword [r13], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], r13
jmp 0x140090d45
mov rcx, r13
call fcn.14001c8f0
mov r13, qword [rsp + 0x68]
mov eax, dword [rsp + 0x5c]
mov r9, qword [r12 + 0x30]
not eax
test eax, eax
js 0x140090d70
mov rdx, qword [r9 + 0x80]
test rdx, rdx
je 0x140090d70
movsxd rcx, eax
mov eax, dword [r12 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r12 + 0x3c]
dec eax
mov dword [r9 + 0x64], eax
cmp byte [rbp + 0xa1], 3
jne 0x140090dda
cmp byte [r15 + 0x1f2], 2
jne 0x140090dda
mov rcx, qword [r15]
lea r8, str.DISTINCT
mov rsi, qword [r15 + 0x10]
lea rdx, str.USE_TEMP_B_TREE_FOR__s
call fcn.14001eaf0
mov r8d, dword [r15 + 0x200]
xor r9d, r9d
mov edx, 0x9b
mov dword [rsp + 0x20], r14d
mov rcx, rsi
mov rdi, rax
call fcn.14003f920
mov r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.14003ff50
cmp qword [rbp - 8], r14
je 0x140090e6b
cmp dword [rbp], r14d
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea r8, str.ORDER_BY
cmovg r8, rax
cmp byte [r15 + 0x1f2], 2
jne 0x140090e49
mov rcx, qword [r15]
lea rdx, str.USE_TEMP_B_TREE_FOR__s
mov rsi, qword [r15 + 0x10]
call fcn.14001eaf0
mov r8d, dword [r15 + 0x200]
xor r9d, r9d
mov edx, 0x9b
mov dword [rsp + 0x20], r14d
mov rcx, rsi
mov rdi, rax
call fcn.14003f920
mov r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.14003ff50
mov rax, qword [rbp - 0x68]
lea r8, [rbp - 8]
mov rsi, qword [rsp + 0x78]
mov rdx, r13
mov rcx, r15
mov qword [rsp + 0x20], rax
mov r9d, dword [rsi]
call fcn.140087350
jmp 0x140090e70
mov rsi, qword [rsp + 0x78]
mov eax, dword [rbp - 0x10]
mov r8, qword [r12 + 0x30]
not eax
test eax, eax
js 0x140090e95
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140090e95
movsxd rcx, eax
mov eax, dword [r12 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r12 + 0x3c]
mov edi, r14d
mov ecx, dword [rsp + 0x70]
dec eax
mov dword [r8 + 0x64], eax
mov rax, qword [rbp - 0x68]
mov dword [r15 + 0x200], ecx
cmp byte [rax], 9
jne 0x14008ed50
mov rdx, qword [rbp - 0x60]
mov r8, rsi
mov rcx, r15
call fcn.140087aa0
jmp 0x14008ed50
cmp rcx, qword [rbx + 0x168]
jb 0x140090efa
cmp rcx, qword [rbx + 0x170]
jae 0x140090efa
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140090eff
call fcn.14001c8f0
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x140090f5b
cmp qword [rbx + 0x320], 0
je 0x140090f21
mov rdx, rcx
mov rcx, rbx
call fcn.14001c990
mov eax, edi
jmp 0x140090f62
mov rcx, qword [rbp + 0x50]
cmp rcx, qword [rbx + 0x168]
jb 0x140090f52
cmp rcx, qword [rbx + 0x170]
jae 0x140090f52
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
mov eax, edi
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140090f62
mov rcx, qword [rbp + 0x50]
call fcn.14001c8f0
mov eax, edi
jmp 0x140090f62
mov eax, r12d
mov rcx, qword [rbp + 0xc8]
xor rcx, rsp
call fcn.1401386b0
mov rbx, qword [rsp + 0x228]
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret