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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x98]
sub rsp, 0x198
mov r15, qword [rcx + 0x10]
xor edi, edi
mov r14, qword [rcx]
mov r12d, 1
mov dword [rsp + 0x74], r12d
mov rsi, r8
mov qword [rbp + 0x50], rdi
mov rbx, rdx
mov qword [rsp + 0x40], r14
mov r13, rcx
mov qword [rbp - 0x68], r15
test r15, r15
jne 0x1401a3a49
cmp qword [rcx + 0xa0], rdi
jne 0x1401a3a3d
test byte [r14 + 0x5c], 8
jne 0x1401a3a3d
mov byte [rcx + 0x23], r12b
call fcn.1401afd20
mov r15, rax
mov qword [rbp - 0x68], rax
test rbx, rbx
je 0x1401a6de0
cmp byte [r14 + 0x63], dil
jne 0x1401a6de0
cmp dword [r13 + 0x30], edi
jne 0x1401a6de0
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rcx, r13
lea edx, [r9 + 0x15]
call fcn.140174bc0
test eax, eax
jne 0x1401a6de0
cmp byte [rsi], 6
ja 0x1401a3ab1
mov r8, qword [rbx + 0x48]
test r8, r8
je 0x1401a3aa6
lea rdx, [0x140188860]
mov rcx, r13
call fcn.14019a230
mov qword [rbx + 0x48], rdi
and dword [rbx + 4], 0xfffffffe
or dword [rbx + 4], 0x400000
xor r8d, r8d
mov rdx, rbx
mov rcx, r13
call fcn.1401a7b20
cmp dword [r13 + 0x30], edi
jne 0x1401a6ddb
cmp byte [r14 + 0x63], dil
jne 0x1401a6ddb
test dword [rbx + 4], 0x800000
je 0x1401a3b73
mov rdi, qword [rbx + 0x28]
mov ebx, r12d
mov r14d, dword [rdi]
cmp r14d, r12d
jle 0x1401a3b67
mov rsi, qword [rdi + 0x28]
lea r11, [rdi + 0x90]
nop word [rax + rax]
cmp rsi, qword [r11 + 8]
jne 0x1401a3b55
mov r10, qword [rdi + 0x20]
mov r9, qword [r11]
test r10, r10
jne 0x1401a3b19
neg r9
sbb ecx, ecx
jmp 0x1401a3b4d
test r9, r9
je 0x1401a3b55
mov rdx, r10
lea r15, [0x1402ced20]
sub r9, r10
nop dword [rax + rax]
movzx ecx, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp ecx, r8d
jne 0x1401a3c3e
test ecx, ecx
jne 0x1401a3c50
mov r15, qword [rbp - 0x68]
test ecx, ecx
je 0x1401a3c58
inc ebx
add r11, 0x70
cmp ebx, r14d
jl 0x1401a3b00
mov rsi, qword [rbp + 0xf0]
mov r14, qword [rsp + 0x40]
mov rbx, qword [rbp + 0xe8]
cmp byte [rsi], 9
jne 0x1401a3b83
mov rdx, rbx
mov rcx, r13
call fcn.14018c870
mov rdx, rbx
mov rcx, r13
call fcn.1401c8e30
test eax, eax
jne 0x1401a6d79
mov rax, qword [rbx + 0x48]
xorps xmm0, xmm0
mov edx, dword [rbx + 4]
mov rdi, qword [rbx + 0x28]
shr edx, 3
and edx, r12d
mov qword [rbp - 0x80], rax
movups xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x58], rax
xor eax, eax
mov esi, eax
mov dword [rbp + 0xf8], edx
movups xmmword [rbp + 0x68], xmm0
movups xmmword [rbp + 0x78], xmm0
cmp qword [rbx + 0x50], rax
jne 0x1401a6da9
mov r12d, eax
cmp esi, dword [rdi]
jge 0x1401a3dd8
imul rbx, r12, 0x70
add rbx, rdi
test byte [rbx + 0x44], 8
mov r14, qword [rbx + 0x30]
mov r13, qword [rbx + 0x28]
je 0x1401a3c97
mov rax, qword [rbp + 0xe8]
mov edx, dword [rbx + 0x4c]
mov rcx, qword [rax + 0x30]
call fcn.140188160
test eax, eax
je 0x1401a3c91
mov rax, qword [rsp + 0x40]
test dword [rax + 0x5c], 0x2000
jne 0x1401a3c91
and byte [rbx + 0x44], 0xd7
mov edx, dword [rbx + 0x4c]
mov rbx, qword [rbp + 0xe8]
mov rcx, qword [rbx + 0x30]
call fcn.1401ccc00
mov edx, dword [rbp + 0xf8]
jmp 0x1401a3c9e
movzx ecx, byte [rcx + r15]
movzx eax, byte [r8 + r15]
sub ecx, eax
jne 0x1401a3b49
inc rdx
jmp 0x1401a3b30
cmp r10, 0
jne 0x1401a3c61
mov r10, qword [rsi]
mov r8, r10
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, r13
call fcn.140182940
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx + 0x63]
mov rcx, r13
add dword [r13 + 0x30], eax
call fcn.1401b9450
mov eax, dword [rsp + 0x74]
jmp 0x1401a6de3
mov edx, dword [rbp + 0xf8]
mov rbx, qword [rbp + 0xe8]
test r14, r14
je 0x1401a3d3d
mov rax, qword [r14 + 0x20]
movsx r8d, word [r13 + 0x46]
mov ecx, dword [rax]
cmp r8d, ecx
jne 0x1401a3d9c
test byte [r14 + 4], 8
jne 0x1401a3d3d
cmp qword [r14 + 0x48], 0
je 0x1401a3ce4
test esi, esi
jne 0x1401a3ce4
test dword [rbx + 4], 0x40000
je 0x1401a3ce4
cmp dword [rdi], 1
je 0x1401a3d3d
test byte [rdi + 0xb4], 0xa
jne 0x1401a3d3d
mov r13, qword [rbp + 0xe0]
mov r9d, edx
mov rcx, r13
mov r8d, esi
mov rdx, rbx
call fcn.140157590
test eax, eax
je 0x1401a3d13
cmp dword [r13 + 0x30], 0
jne 0x1401a3d64
mov esi, 0xffffffff
mov r12, 0xffffffffffffffff
mov r14, qword [rsp + 0x40]
mov rdi, qword [rbx + 0x28]
cmp byte [r14 + 0x63], 0
jne 0x1401a3d82
mov rax, qword [rbp + 0xf0]
cmp byte [rax], 8
jbe 0x1401a3d49
mov rax, qword [rbx + 0x48]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x58], rax
jmp 0x1401a3d49
mov r14, qword [rsp + 0x40]
mov r13, qword [rbp + 0xe0]
inc esi
inc r12
cmp qword [rbx + 0x50], 0
jne 0x1401a6da9
mov edx, dword [rbp + 0xf8]
jmp 0x1401a3bd5
mov rax, qword [rsp + 0x40]
mov rcx, r13
movzx eax, byte [rax + 0x63]
add dword [r13 + 0x30], eax
call fcn.1401b9450
mov eax, dword [rsp + 0x74]
jmp 0x1401a6de3
movzx eax, byte [r14 + 0x63]
mov rcx, r13
add dword [r13 + 0x30], eax
call fcn.1401b9450
mov eax, dword [rsp + 0x74]
jmp 0x1401a6de3
mov r9, qword [r13]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov r13, qword [rbp + 0xe0]
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.140182940
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx + 0x63]
mov rcx, r13
add dword [r13 + 0x30], eax
call fcn.1401b9450
mov eax, dword [rsp + 0x74]
jmp 0x1401a6de3
mov rax, qword [rbx + 0x30]
mov rbx, rdi
mov qword [rsp + 0x48], rbx
test rax, rax
je 0x1401a3f90
cmp byte [rax], 0x2c
mov qword [rsp + 0x48], rbx
jne 0x1401a3f90
test dword [r14 + 0x5c], 0x8000
mov qword [rsp + 0x48], rbx
jne 0x1401a3f90
mov rax, qword [r13]
lea rsi, [0x140167b20]
mov rbx, qword [rbp + 0xe8]
lea r14, [fcn.140034470]
add rax, 0x63
mov qword [rsp + 0x48], rdi
mov qword [rbp + 0x20], rax
xor edi, edi
mov qword [rbp + 0x18], r13
nop word [rax + rax]
mov rdx, qword [rbx + 0x30]
lea rcx, [rbp + 0x18]
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x38], rdi
mov dword [rbp + 0x30], edi
call fcn.140153ef0
cmp dword [rbp + 0x28], edi
je 0x1401a3f80
mov rdx, qword [rbx + 0x30]
lea rax, [rbp + 0x18]
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x30], rax
test rdx, rdx
je 0x1401a3e8f
lea rcx, [rbp - 0x58]
call fcn.1401d6d50
mov rax, qword [rbp + 0x18]
mov rbx, qword [rbp + 0x38]
mov rcx, qword [rax]
test rbx, rbx
je 0x1401a3f79
test rcx, rcx
je 0x1401a3f02
cmp qword [rcx + 0x2e0], rdi
je 0x1401a3ebe
mov rdx, rbx
call fcn.14015eb90
jmp 0x1401a3f79
cmp rbx, qword [rcx + 0x1d0]
jae 0x1401a3f02
cmp rbx, qword [rcx + 0x1c0]
jb 0x1401a3ee6
mov rax, qword [rcx + 0x1b8]
mov qword [rbx], rax
mov qword [rcx + 0x1b8], rbx
jmp 0x1401a3f79
cmp rbx, qword [rcx + 0x1c8]
jb 0x1401a3f02
mov rax, qword [rcx + 0x1a8]
mov qword [rbx], rax
mov qword [rcx + 0x1a8], rbx
jmp 0x1401a3f79
cmp dword [reloc.WS2_32.dll_accept], edi
je 0x1401a3f69
mov rcx, qword [0x14036cc60]
test rcx, rcx
je 0x1401a3f23
mov rax, qword [0x14035acb0]
call qword [case.0x1400ac8a1.0]
mov rax, qword [0x14035ac68]
mov rcx, rbx
call qword [case.0x1400ac8a1.0]
dec qword [0x14036cbf8]
mov rcx, rbx
movsxd rdx, eax
mov rax, qword [0x14035ac58]
sub qword [0x14036cbb0], rdx
call qword [case.0x1400ac8a1.0]
mov rcx, qword [0x14036cc60]
test rcx, rcx
je 0x1401a3f79
mov rax, qword [0x14035acc0]
jmp 0x1401a3f73
mov rax, qword [0x14035ac58]
mov rcx, rbx
call qword [case.0x1400ac8a1.0]
mov rbx, qword [rbp + 0xe8]
cmp dword [rbp + 0x2c], edi
jne 0x1401a3e40
mov rbx, qword [rsp + 0x48]
jmp 0x1401a3f92
xor edi, edi
cmp dword [rbx], 0
lea rdx, [0x1402f7cc0]
mov ecx, edi
mov dword [rsp + 0x70], ecx
jle 0x1401a4702
mov qword [rsp + 0x58], rdi
nop dword [rax]
imul rsi, rdi, 0x70
add rsi, rbx
cmp qword [rsi + 0x60], 0
lea r12, [rsi + 8]
jne 0x1401a3fe8
mov r8, qword [rsi + 0x18]
test r8, r8
je 0x1401a3fe8
mov rax, qword [rsi + 0x10]
mov r9, rdx
mov edx, reloc.WS2_32.dll_sendto
mov qword [rsp + 0x20], rax
mov rcx, r13
call fcn.140174bc0
mov ecx, dword [rsp + 0x70]
mov r14, qword [rsi + 0x30]
mov qword [rbp - 0x20], r14
test r14, r14
je 0x1401a4208
mov rbx, qword [rbp + 0xe8]
lea rdx, [rsp + 0x64]
xor ecx, ecx
mov dword [rsp + 0x64], ecx
mov rcx, rbx
call fcn.14015b540
mov eax, dword [rsp + 0x64]
add dword [r13 + 0x11c], eax
mov rax, qword [rsp + 0x40]
test dword [rax + 0x5c], 0x1000
jne 0x1401a405d
test byte [rsi + 0x48], 0x80
je 0x1401a403c
mov rax, qword [rsi + 0x70]
cmp byte [rax + 0x12], 0
je 0x1401a405d
movzx eax, byte [rsi + 0x44]
mov rdx, r14
mov r9d, dword [rsi + 0x4c]
mov rcx, r13
mov r8, qword [rbx + 0x30]
shr eax, 5
and eax, 1
mov dword [rsp + 0x20], eax
call fcn.140168110
mov rax, qword [r13 + 0x158]
mov rcx, qword [rsp + 0x48]
mov qword [rbp - 0x18], rax
mov rax, qword [rsi + 0x18]
mov qword [r13 + 0x158], rax
test rdi, rdi
jne 0x1401a422a
cmp dword [rcx], 1
je 0x1401a4093
test byte [rcx + 0xb4], 0xa
je 0x1401a422a
test byte [rsi + 0x48], 0x80
je 0x1401a40a7
mov rax, qword [rsi + 0x70]
cmp byte [rax + 0x12], 0
je 0x1401a422a
mov edi, dword [r15 + 0x90]
inc dword [r13 + 0x38]
mov edx, dword [r13 + 0x38]
mov dword [rsi + 0x3c], edx
movsxd rcx, dword [r15 + 0x90]
lea ebx, [rdi + 1]
cmp dword [r15 + 0x94], ecx
jg 0x1401a40e7
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, r15
lea edx, [r9 + 0xd]
call fcn.14015ae20
xor r8d, r8d
jmp 0x1401a4118
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], reloc.WS2_32.dll_listen
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r8
mov eax, dword [rsi + 0x3c]
mov r9, r12
mov qword [rbp + 0x30], r8
mov edx, 1
mov dword [rbp + 0x28], r8d
mov rcx, r13
lea r8, str.CO_ROUTINE___S
mov dword [rsi + 0x38], ebx
mov byte [rbp + 0x18], reloc.WS2_32.dll_listen
mov dword [rbp + 0x1c], eax
mov qword [rbp + 0x20], 0
call fcn.1401b92b0
lea r8, [rbp + 0x18]
mov rdx, r14
mov rcx, r13
call fcn.1401a39d0
movzx eax, word [r14 + 2]
mov rcx, qword [rsi + 0x28]
mov word [rcx + 0x4a], ax
mov rcx, r15
mov eax, dword [rbp + 0x24]
mov edx, dword [rsi + 0x3c]
or dword [rsi + 0x48], 0x10
mov dword [rsi + 0x40], eax
call fcn.1401b0500
mov rax, qword [r15]
mov edx, dword [r15 + 0x90]
cmp byte [rax + 0x63], 0
je 0x1401a4196
lea rax, [0x14036cf50]
jmp 0x1401a41af
lea eax, [rdx - 1]
test edi, edi
cmovns eax, edi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
xor r12d, r12d
mov dword [r13 + 0x28], r12d
mov byte [r13 + 0x1f], 0
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
cmp byte [r14 + 0x63], 0
jne 0x1401a3d82
mov rcx, qword [rbp + 0xe8]
lea rdx, [rsp + 0x64]
mov dword [rsp + 0x64], r12d
call fcn.14015b540
mov rax, qword [rbp - 0x18]
mov edx, dword [rsp + 0x64]
sub dword [r13 + 0x11c], edx
mov ecx, dword [rsp + 0x70]
mov qword [r13 + 0x158], rax
inc ecx
inc rdi
mov dword [rsp + 0x70], ecx
mov qword [rsp + 0x58], rdi
cmp ecx, dword [rbx]
jge 0x1401a4700
lea rdx, [0x1402f7cc0]
jmp 0x1401a3fb0
test byte [rsi + 0x48], 0x80
je 0x1401a431c
mov rbx, qword [rsi + 0x70]
mov edx, dword [rbx + 4]
test edx, edx
jle 0x1401a431c
movsxd rcx, dword [r15 + 0x90]
xor r12d, r12d
mov r8d, dword [rbx + 8]
cmp dword [r15 + 0x94], ecx
jg 0x1401a4271
mov r9d, edx
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 0xc]
mov rcx, r15
call fcn.14015ae20
jmp 0x1401a42a0
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], select
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov edx, dword [rbx + 0xc]
mov r8d, dword [rsi + 0x4c]
cmp r8d, edx
je 0x1401a430e
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401a42df
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x64
mov rcx, r15
call fcn.14015ae20
movzx eax, word [rbx + 0x10]
mov word [r14 + 2], ax
jmp 0x1401a41c3
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x64
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
movzx eax, word [rbx + 0x10]
mov word [r14 + 2], ax
jmp 0x1401a41c3
mov r14, qword [rsi + 0x30]
test dword [r14 + 4], 0x1000000
jne 0x1401a43c8
lea rdi, [rcx + 8]
cmp rdi, r12
jae 0x1401a43c8
nop dword [rax + rax]
mov r10, qword [rdi + 0x28]
test r10, r10
je 0x1401a43bb
test byte [rdi + 0x40], 0x10
jne 0x1401a43bb
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x1401a43bb
mov rax, qword [rdi + 0x20]
mov r11, qword [rax + 0x70]
mov rax, qword [rsi + 0x28]
cmp r11, qword [rax + 0x70]
jne 0x1401a43bb
mov r9, qword [rsi + 0x18]
test r9, r9
je 0x1401a43bb
sub r9, rdx
nop word [rax + rax]
movzx eax, byte [rdx]
mov rbx, rcx
movzx r8d, byte [rdx + r9]
cmp eax, r8d
jne 0x1401a440b
test eax, eax
jne 0x1401a4424
test r11, r11
jne 0x1401a43ac
mov eax, dword [r10 + 0x10]
mov qword [rsp + 0x48], rcx
cmp dword [r14 + 0x10], eax
jne 0x1401a43bb
test dword [r10 + 4], 0x1000000
mov qword [rsp + 0x48], rbx
je 0x1401a442c
add rdi, 0x70
cmp rdi, r12
jb 0x1401a4340
inc dword [r13 + 0x38]
xor r8d, r8d
mov edx, dword [r13 + 0x38]
mov edi, r8d
mov dword [rsi + 0x3c], edx
movsxd rbx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ebx
jg 0x1401a450d
mov r9d, edx
mov dword [rsp + 0x20], r8d
lea edx, [r8 + 0x45]
mov rcx, r15
call fcn.14015ae20
mov ebx, eax
xor r8d, r8d
jmp 0x1401a4538
lea rbx, [0x1402ced20]
movzx ecx, byte [rax + rbx]
movzx eax, byte [r8 + rbx]
cmp ecx, eax
mov rcx, qword [rsp + 0x48]
jne 0x1401a43bb
inc rdx
jmp 0x1401a4380
mov edx, dword [rdi + 0x30]
xor r12d, r12d
test edx, edx
je 0x1401a4490
movsxd rcx, dword [r15 + 0x90]
mov r8d, dword [rdi + 0x34]
cmp dword [r15 + 0x94], ecx
jg 0x1401a4461
mov r9d, edx
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 0xc]
mov rcx, r15
call fcn.14015ae20
jmp 0x1401a4490
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], select
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
movsxd rcx, dword [r15 + 0x90]
mov edx, dword [rdi + 0x44]
mov r8d, dword [rsi + 0x4c]
cmp dword [r15 + 0x94], ecx
jg 0x1401a44be
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x64
mov rcx, r15
call fcn.14015ae20
jmp 0x1401a44ed
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x64
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rdi + 0x28]
mov r14, qword [rbp - 0x20]
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0x48], rbx
movzx ecx, word [rax + 2]
mov word [r14 + 2], cx
jmp 0x1401a41c8
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov qword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
test byte [rsi + 0x48], 8
lea eax, [rbx + 1]
mov dword [rsi + 0x38], eax
jne 0x1401a459d
movsxd rdi, dword [r15 + 0x90]
cmp dword [r15 + 0x94], edi
jg 0x1401a4572
xor r9d, r9d
mov dword [rsp + 0x20], r8d
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 0x11]
call fcn.14015ae20
mov edi, eax
xor r8d, r8d
jmp 0x1401a459d
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov qword [rax + rcx*8], reloc.WS2_32.dll_recvfrom
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
mov eax, dword [rsi + 0x4c]
mov r9, r12
mov qword [rbp + 0x30], r8
mov edx, 1
mov dword [rbp + 0x28], r8d
mov rcx, r13
lea r8, str.MATERIALIZE___S
mov byte [rbp + 0x18], listen
mov dword [rbp + 0x1c], eax
mov qword [rbp + 0x20], 0
call fcn.1401b92b0
mov r14, qword [rbp - 0x20]
lea r8, [rbp + 0x18]
mov rdx, r14
mov rcx, r13
call fcn.1401a39d0
mov rcx, qword [rsi + 0x28]
movzx eax, word [r14 + 2]
mov word [rcx + 0x4a], ax
test edi, edi
je 0x1401a4627
mov rax, qword [r15]
mov edx, dword [r15 + 0x90]
cmp byte [rax + 0x63], 0
je 0x1401a460b
lea rax, [0x14036cf50]
jmp 0x1401a4624
lea eax, [rdx - 1]
test edi, edi
cmovns eax, edi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rdx, dword [r15 + 0x90]
xor r12d, r12d
mov r8d, dword [rsi + 0x3c]
cmp dword [r15 + 0x94], edx
jg 0x1401a4657
xor r9d, r9d
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 0x41]
mov rcx, r15
call fcn.14015ae20
mov edx, eax
jmp 0x1401a4682
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x41
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], r12
mov qword [rax + rcx*8 + 0x10], r12
test ebx, ebx
jns 0x1401a468f
mov ebx, dword [r15 + 0x90]
dec ebx
mov rax, qword [r15]
cmp byte [rax + 0x63], 0
je 0x1401a46a1
lea rax, [0x14036cf50]
jmp 0x1401a46b3
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
mov byte [r13 + 0x1f], 0
mov dword [r13 + 0x28], r12d
mov eax, dword [rsi + 0x48]
test al, al
jns 0x1401a41be
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
test al, 8
jne 0x1401a41c8
mov eax, dword [rsi + 0x38]
mov rcx, qword [rsi + 0x70]
mov dword [rcx + 4], eax
mov eax, dword [rsi + 0x3c]
mov dword [rcx + 8], eax
mov eax, dword [rsi + 0x4c]
mov dword [rcx + 0xc], eax
movzx eax, word [r14 + 2]
mov word [rcx + 0x10], ax
jmp 0x1401a41c8
xor edi, edi
mov rbx, qword [rbp + 0xe8]
mov rax, qword [rbx + 0x30]
mov ecx, dword [rbx + 4]
mov rsi, qword [rbx + 0x20]
mov r12, qword [rbx + 0x38]
mov qword [rbp - 0x60], rax
mov rax, qword [rbx + 0x40]
mov qword [rbp - 0x20], rax
movzx eax, byte [rbx + 4]
and al, 1
mov qword [rbp], rsi
mov byte [rsp + 0x50], al
movzx r14d, al
mov byte [rbp + 8], al
mov eax, ecx
and al, 9
mov qword [rsp + 0x58], r12
cmp al, 1
jne 0x1401a4873
mov rdx, qword [rbp - 0x80]
test rdx, rdx
jne 0x1401a47ee
test rsi, rsi
je 0x1401a4846
mov edi, 0xffffffff
mov dword [rbp - 0x78], edi
mov rax, qword [rbp + 0xf0]
mov dword [rbp + 0x70], edi
cmp byte [rax], 0xc
jne 0x1401a478b
mov r9d, dword [rsi]
mov edx, WSACleanup
mov r8d, dword [rax + 4]
mov rcx, r15
call fcn.1401af0d0
dec dword [r13 + 0x44]
mov ecx, 0x4000
mov rax, qword [rbp + 0xe8]
mov r8d, dword [r13 + 0x44]
mov dword [rbp - 0x10], r8d
test dword [rax + 4], ecx
jne 0x1401a47b1
mov ecx, 0x140
mov word [rax + 2], cx
mov rdx, rax
mov rcx, r13
call fcn.14014adb0
mov rdx, qword [rbp + 0xe8]
cmp dword [rdx + 8], 0
jne 0x1401a499d
test edi, edi
js 0x1401a499d
mov rax, qword [r15]
cmp byte [rax + 0x63], 0
je 0x1401a4984
lea rax, [0x14036cf50]
jmp 0x1401a4996
test rsi, rsi
je 0x1401a4873
mov eax, dword [rdx]
cmp eax, dword [rsi]
jne 0x1401a4873
test eax, eax
jle 0x1401a4846
lea rbx, [rdx + 0x18]
sub rsi, rdx
movzx eax, byte [rsi + rbx]
cmp byte [rbx], al
jne 0x1401a4873
mov r8, qword [rsi + rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [rbx - 0x10]
xor ecx, ecx
call fcn.140187150
test eax, eax
jne 0x1401a4873
mov rax, qword [rbp - 0x80]
inc edi
add rbx, 0x20
cmp edi, dword [rax]
jl 0x1401a4808
mov rbx, qword [rbp + 0xe8]
mov rsi, qword [rbp]
mov ecx, dword [rbx + 4]
cmp qword [rbx + 0x70], 0
jne 0x1401a4873
and ecx, 0xfffffffe
xor r8d, r8d
mov dword [rbx + 4], ecx
mov rdx, rsi
mov rcx, qword [rsp + 0x40]
call fcn.140188870
or dword [rbx + 4], 8
mov r12, rax
mov qword [rsp + 0x58], rax
mov qword [rbx + 0x38], rax
mov rdi, qword [rbp - 0x80]
mov rsi, qword [rbp]
test rdi, rdi
je 0x1401a4760
mov r9d, dword [rsi]
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.140194db0
mov r8d, dword [r13 + 0x34]
mov rbx, rax
mov dword [rbp + 0x64], r8d
lea ecx, [r8 + 1]
mov dword [r13 + 0x34], ecx
mov r9d, dword [rdi]
movsxd rdi, dword [r15 + 0x90]
inc r9d
add r9d, dword [rsi]
mov dword [rbp - 0x78], edi
cmp dword [r15 + 0x94], edi
jg 0x1401a48dc
xor ecx, ecx
mov dword [rsp + 0x20], ecx
lea edx, [rcx + 0x70]
mov rcx, r15
call fcn.14015ae20
mov edi, eax
mov dword [rbp - 0x78], eax
jmp 0x1401a490d
lea rcx, [rdi + rdi*2]
xor edx, edx
lea eax, [rdi + 1]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], WSACleanup
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [r15]
mov eax, edi
cmp byte [rcx + 0x63], 0
je 0x1401a4933
cmp qword [rcx + 0x2e0], 0
jne 0x1401a4768
mov rcx, rbx
call fcn.140194fe0
jmp 0x1401a4768
test edi, edi
jns 0x1401a4940
mov eax, dword [r15 + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1401a496e
mov r9d, 0xfffffff7
mov r8, rbx
mov rcx, r15
call fcn.1401ceec0
jmp 0x1401a4768
test rbx, rbx
je 0x1401a4768
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf7
jmp 0x1401a4768
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
or byte [rbp + 0x7c], 1
mov byte [rax], WSACleanup
test byte [rdx + 4], 1
je 0x1401a4ab4
mov edi, dword [r13 + 0x34]
xor r9d, r9d
xor r8d, r8d
mov dword [rbp + 0xc], edi
mov rcx, r13
lea eax, [rdi + 1]
mov dword [r13 + 0x34], eax
mov rdx, qword [rdx + 0x20]
call fcn.140194db0
movsxd rbx, dword [r15 + 0x90]
mov rsi, rax
cmp dword [r15 + 0x94], ebx
jg 0x1401a49f5
xor eax, eax
xor r9d, r9d
mov r8d, edi
mov dword [rsp + 0x20], eax
mov rcx, r15
lea edx, [rax + 0x70]
call fcn.14015ae20
mov ebx, eax
jmp 0x1401a4a21
lea rcx, [rbx + rbx*2]
xor edx, edx
lea eax, [rbx + 1]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], WSACleanup
mov dword [rax + rcx*8 + 4], edi
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [r15]
mov eax, ebx
cmp byte [rcx + 0x63], 0
je 0x1401a4a40
cmp qword [rcx + 0x2e0], 0
jne 0x1401a4a85
mov rcx, rsi
call fcn.140194fe0
jmp 0x1401a4a85
test ebx, ebx
jns 0x1401a4a4d
mov eax, dword [r15 + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1401a4a78
mov r9d, 0xfffffff7
mov r8, rsi
mov rcx, r15
call fcn.1401ceec0
jmp 0x1401a4a85
test rsi, rsi
je 0x1401a4a85
mov qword [rdx + 0x10], rsi
mov byte [rdx + 1], 0xf7
movsxd rax, dword [r15 + 0x90]
mov dword [rbp + 0x10], ebx
test eax, eax
jle 0x1401a4aa8
lea rcx, [rax + rax*2]
mov edx, 8
mov rax, qword [r15 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov rdx, qword [rbp + 0xe8]
mov sil, 3
jmp 0x1401a4ab7
xor sil, sil
cmp dword [rbp + 0xf8], 0
mov byte [rbp + 9], sil
mov dword [rsp + 0x64], esi
jne 0x1401a4cd0
test r12, r12
jne 0x1401a4cd0
mov rdi, qword [rdx + 0x70]
mov eax, 0x100
mov ebx, r14d
mov ecx, 0x4000
imul ebx, eax
movzx eax, word [rdx + 4]
and ax, cx
or bx, ax
test rdi, rdi
je 0x1401a4b07
mov rcx, r13
call fcn.1401c6280
mov rdx, qword [rbp + 0xe8]
movsx eax, word [rdx + 2]
mov rcx, r13
mov r8, qword [rbp - 0x60]
mov dword [rsp + 0x30], eax
mov rax, qword [rdx + 0x20]
mov rdx, qword [rsp + 0x48]
mov word [rsp + 0x28], bx
mov rbx, qword [rbp - 0x80]
mov r9, rbx
mov qword [rsp + 0x20], rax
call fcn.1401c0800
mov r13, rax
test rax, rax
je 0x1401a6dd2
mov r12, qword [rbp + 0xe8]
movzx eax, word [rax + 0x48]
cmp ax, word [r12 + 2]
jge 0x1401a4b5a
mov word [r12 + 2], ax
cmp byte [rsp + 0x50], 0
je 0x1401a4b77
movzx ecx, byte [r13 + 0x43]
test cl, cl
movzx esi, sil
cmovne esi, ecx
mov dword [rsp + 0x64], esi
mov byte [rbp + 9], sil
test rbx, rbx
je 0x1401a4bb8
test byte [r13 + 0x44], 4
movsx edx, byte [r13 + 0x41]
mov dword [rbp + 0x60], edx
jne 0x1401a4b91
mov eax, dword [r13 + 0x30]
jmp 0x1401a4ba6
movzx eax, byte [r13 + 0x40]
lea rcx, [rax + rax*2]
shl rcx, 5
mov eax, dword [rcx + r13 + 0x310]
cmp edx, dword [rbx]
mov dword [rbp + 0x78], eax
mov eax, 0
cmove rbx, rax
mov qword [rbp + 0x58], rbx
mov eax, dword [rbp - 0x78]
test eax, eax
js 0x1401a4bce
test rbx, rbx
jne 0x1401a4bce
mov edx, eax
mov rcx, r15
call fcn.1401af810
mov rcx, qword [rbp + 0xe0]
mov rdx, r12
test rdi, rdi
je 0x1401a4c88
mov esi, dword [rcx + 0x44]
mov r8, r13
inc dword [rcx + 0x38]
mov r13, rcx
mov edi, dword [rcx + 0x38]
mov r9d, edi
lea ebx, [rsi - 1]
sub esi, 2
mov dword [rsp + 0x20], ebx
lea r14d, [rsi - 1]
mov dword [rcx + 0x44], r14d
call fcn.1401c68e0
xor r8d, r8d
mov r9d, r14d
mov rcx, r15
lea edx, [r8 + 0xb]
call fcn.1401af0d0
mov edx, ebx
mov rcx, r15
call fcn.1401bd3c0
mov rbx, qword [rbp + 0xf0]
lea r9, [rbp + 0x58]
xor eax, eax
mov dword [rsp + 0x38], r14d
mov dword [rbp + 0x78], eax
mov r8d, 0xffffffff
lea rax, [rbp + 8]
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rbx
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.14016f980
mov edx, esi
mov rcx, r15
call fcn.1401bd3c0
mov r8d, edi
mov edx, 0x41
mov rcx, r15
call fcn.1401af060
mov edx, r14d
mov rcx, r15
call fcn.1401bd3c0
jmp 0x1401a6cd0
mov eax, dword [r13 + 0x34]
lea r9, [rbp + 0x58]
mov rbx, qword [rbp + 0xf0]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], eax
mov eax, dword [r13 + 0x30]
mov dword [rsp + 0x30], eax
lea rax, [rbp + 8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.14016f980
mov rcx, r13
call fcn.1401c47a0
mov r13, qword [rbp + 0xe0]
jmp 0x1401a6cd0
mov r14, qword [rsp + 0x58]
xor r9d, r9d
mov dword [rbp - 0x70], r9d
mov dword [rbp - 0x74], r9d
mov dword [rbp - 0x28], r9d
test r14, r14
je 0x1401a4e0a
mov rcx, qword [rdx + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x1401a4d0e
add rcx, 0x22
nop dword [rax + rax]
dec eax
mov word [rcx], r9w
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x1401a4d00
mov eax, dword [r14]
test eax, eax
jle 0x1401a4d2e
lea rcx, [r14 + 0x22]
nop dword [rax]
dec eax
mov word [rcx], r9w
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x1401a4d20
cmp word [rdx + 2], 0x42
jle 0x1401a4d3e
mov eax, 0x42
mov word [rdx + 2], ax
mov r9, qword [rbp - 0x80]
test r9, r9
je 0x1401a4dd4
mov eax, dword [r14]
cmp eax, dword [r9]
jne 0x1401a4dd4
xor ecx, ecx
mov edx, ecx
test eax, eax
jle 0x1401a4d89
mov r8, r9
lea rcx, [r14 + 0x18]
sub r8, r14
nop dword [rax]
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 0x20]
and al, 1
inc edx
mov byte [rcx - 0x20], al
mov eax, dword [r14]
cmp edx, eax
jl 0x1401a4d70
xor ecx, ecx
cmp eax, dword [r9]
jne 0x1401a4dd4
mov edi, ecx
test eax, eax
jle 0x1401a4dcd
mov rsi, r14
lea rbx, [r9 + 0x18]
sub rsi, r9
nop
movzx eax, byte [rbx]
cmp byte [rsi + rbx], al
jne 0x1401a4dd4
mov r8, qword [rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [rsi + rbx - 0x10]
xor ecx, ecx
call fcn.140187150
test eax, eax
jne 0x1401a4dd4
inc edi
add rbx, 0x20
cmp edi, dword [r14]
jl 0x1401a4da0
mov dword [rbp - 0x28], 1
xor r9d, r9d
dec dword [r13 + 0x44]
mov edx, 0x40
mov rsi, qword [rsp + 0x40]
mov eax, dword [r13 + 0x44]
mov dword [rsp + 0x60], eax
cmp dx, word [rsi + 0x184]
jbe 0x1401a4e28
cmp dword [rsi + 0x180], 0
jne 0x1401a4e11
inc dword [rsi + 0x194]
jmp 0x1401a4ec1
mov word [rdx + 2], r9w
jmp 0x1401a4dd7
cmp byte [rsi + 0x63], 0
je 0x1401a4ec1
mov r12, r9
mov qword [rsp + 0x68], r9
jmp 0x1401a51b6
mov r12, qword [rsi + 0x1b8]
mov qword [rsp + 0x68], r12
test r12, r12
je 0x1401a4e4f
mov rax, qword [r12]
mov qword [rsi + 0x1b8], rax
inc dword [rsi + 0x190]
jmp 0x1401a4eda
mov r12, qword [rsi + 0x1b0]
mov qword [rsp + 0x68], r12
test r12, r12
je 0x1401a4e73
mov rax, qword [r12]
mov qword [rsi + 0x1b0], rax
inc dword [rsi + 0x190]
jmp 0x1401a4eda
mov r12, qword [rsi + 0x1a8]
mov qword [rsp + 0x68], r12
test r12, r12
je 0x1401a4e97
mov rax, qword [r12]
mov qword [rsi + 0x1a8], rax
inc dword [rsi + 0x190]
jmp 0x1401a4eda
mov r12, qword [rsi + 0x1a0]
mov qword [rsp + 0x68], r12
test r12, r12
je 0x1401a4ebb
mov rax, qword [r12]
inc dword [rsi + 0x190]
mov qword [rsi + 0x1a0], rax
jmp 0x1401a4eda
inc dword [rsi + 0x198]
mov rcx, rsi
call fcn.14014d620
mov qword [rsp + 0x68], rax
mov r12, rax
test rax, rax
je 0x1401a51b3
xorps xmm0, xmm0
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm0
movups xmmword [r12 + 0x20], xmm0
movups xmmword [r12 + 0x30], xmm0
mov rcx, qword [r13]
test rcx, rcx
je 0x1401a4fc3
mov eax, 0x18
cmp ax, word [rcx + 0x184]
jbe 0x1401a4f3b
cmp dword [rcx + 0x180], 0
jne 0x1401a4f2a
inc dword [rcx + 0x194]
mov edx, eax
call fcn.14014d620
jmp 0x1401a4fcd
cmp byte [rcx + 0x63], 0
je 0x1401a4fb9
xor eax, eax
jmp 0x1401a4fcd
mov rdx, qword [rcx + 0x1b8]
test rdx, rdx
je 0x1401a4f59
mov rax, qword [rdx]
mov qword [rcx + 0x1b8], rax
inc dword [rcx + 0x190]
jmp 0x1401a4fd0
mov rdx, qword [rcx + 0x1b0]
test rdx, rdx
je 0x1401a4f77
mov rax, qword [rdx]
mov qword [rcx + 0x1b0], rax
inc dword [rcx + 0x190]
jmp 0x1401a4fd0
mov rdx, qword [rcx + 0x1a8]
test rdx, rdx
je 0x1401a4f95
mov rax, qword [rdx]
mov qword [rcx + 0x1a8], rax
inc dword [rcx + 0x190]
jmp 0x1401a4fd0
mov rdx, qword [rcx + 0x1a0]
test rdx, rdx
je 0x1401a4fb3
mov rax, qword [rdx]
inc dword [rcx + 0x190]
mov qword [rcx + 0x1a0], rax
jmp 0x1401a4fd0
inc dword [rcx + 0x198]
mov rdx, rax
call fcn.14014d620
jmp 0x1401a4fcd
mov ecx, 0x18
call fcn.140196750
mov rdx, rax
test rdx, rdx
je 0x1401a4ffa
mov rcx, qword [r13 + 0x188]
lea rax, [0x14013e180]
mov qword [rdx], rcx
mov qword [r13 + 0x188], rdx
mov qword [rdx + 8], r12
mov qword [rdx + 0x10], rax
jmp 0x1401a51b3
mov rcx, qword [r12 + 0x20]
mov rbx, qword [r13]
test rcx, rcx
je 0x1401a506a
test rbx, rbx
je 0x1401a5065
cmp qword [rbx + 0x2e0], 0
je 0x1401a5024
mov rdx, rcx
mov rcx, rbx
call fcn.14015eb90
jmp 0x1401a506a
cmp rcx, qword [rbx + 0x1d0]
jae 0x1401a5065
cmp rcx, qword [rbx + 0x1c0]
jb 0x1401a5049
mov rax, qword [rbx + 0x1b8]
mov qword [rcx], rax
mov qword [rbx + 0x1b8], rcx
jmp 0x1401a506a
cmp rcx, qword [rbx + 0x1c8]
jb 0x1401a5065
mov rax, qword [rbx + 0x1a8]
mov qword [rcx], rax
mov qword [rbx + 0x1a8], rcx
jmp 0x1401a506a
call fcn.14012f320
mov rcx, qword [r12 + 0x30]
test rcx, rcx
je 0x1401a50d6
test rbx, rbx
je 0x1401a50d1
cmp qword [rbx + 0x2e0], 0
je 0x1401a5090
mov rdx, rcx
mov rcx, rbx
call fcn.14015eb90
jmp 0x1401a50db
cmp rcx, qword [rbx + 0x1d0]
jae 0x1401a50d1
cmp rcx, qword [rbx + 0x1c0]
jb 0x1401a50b5
mov rax, qword [rbx + 0x1b8]
mov qword [rcx], rax
mov qword [rbx + 0x1b8], rcx
jmp 0x1401a50db
cmp rcx, qword [rbx + 0x1c8]
jb 0x1401a50d1
mov rax, qword [rbx + 0x1a8]
mov qword [rcx], rax
mov qword [rbx + 0x1a8], rcx
jmp 0x1401a50db
call fcn.14012f320
test rbx, rbx
je 0x1401a513b
cmp qword [rbx + 0x2e0], 0
je 0x1401a50f5
mov rdx, r12
mov rcx, rbx
call fcn.14015eb90
jmp 0x1401a51b3
cmp r12, qword [rbx + 0x1d0]
jae 0x1401a513b
cmp r12, qword [rbx + 0x1c0]
jb 0x1401a511e
mov rax, qword [rbx + 0x1b8]
mov qword [r12], rax
mov qword [rbx + 0x1b8], r12
jmp 0x1401a51b3
cmp r12, qword [rbx + 0x1c8]
jb 0x1401a513b
mov rax, qword [rbx + 0x1a8]
mov qword [r12], rax
mov qword [rbx + 0x1a8], r12
jmp 0x1401a51b3
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1401a51a3
mov rcx, qword [0x14036cc60]
test rcx, rcx
je 0x1401a515d
mov rax, qword [0x14035acb0]
call qword [case.0x1400ac8a1.0]
mov rax, qword [0x14035ac68]
mov rcx, r12
call qword [case.0x1400ac8a1.0]
dec qword [0x14036cbf8]
movsxd rcx, eax
sub qword [0x14036cbb0], rcx
mov rcx, r12
mov rax, qword [0x14035ac58]
call qword [case.0x1400ac8a1.0]
mov rcx, qword [0x14036cc60]
test rcx, rcx
je 0x1401a51b3
mov rax, qword [0x14035acc0]
jmp 0x1401a51ad
mov rax, qword [0x14035ac58]
mov rcx, r12
call qword [case.0x1400ac8a1.0]
xor r9d, r9d
cmp byte [rsi + 0x63], 0
jne 0x1401a6d7e
mov rax, qword [rbp + 0xe8]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov eax, dword [rax + 0x10]
mov dword [r12 + 0x3c], eax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x20], rax
mov eax, dword [r13 + 0x38]
inc eax
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x28], r12
movdqu xmmword [rbp + 0x30], xmm0
movdqu xmmword [rbp + 0x40], xmm1
mov dword [r12 + 0x10], eax
test r14, r14
je 0x1401a5205
mov eax, dword [r14]
jmp 0x1401a5208
mov eax, r9d
mov rsi, qword [rbp]
mov dword [r12 + 0xc], eax
mov qword [r12 + 0x18], r14
test rsi, rsi
je 0x1401a5288
cmp dword [rsi], 0
lea rbx, [rsi + 8]
mov edi, r9d
jle 0x1401a5288
lea r12, [0x14013f600]
lea r15, [0x1401c07f0]
lea r14, [0x1401c07e0]
nop dword [rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x18]
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], r14
mov dword [rbp - 0x38], r9d
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x58], r9
test rdx, rdx
je 0x1401a5270
lea rcx, [rbp - 0x58]
call fcn.1401d6d50
xor r9d, r9d
inc edi
add rbx, 0x20
cmp edi, dword [rsi]
jl 0x1401a5240
mov r15, qword [rbp - 0x68]
mov r12, qword [rsp + 0x68]
mov r14, qword [rsp + 0x58]
mov rsi, qword [rbp - 0x80]
test rsi, rsi
je 0x1401a530a
cmp dword [rsi], 0
lea rbx, [rsi + 8]
mov edi, r9d
jle 0x1401a530a
lea r13, [0x14013f600]
lea r15, [0x1401c07f0]
lea r12, [0x1401c07e0]
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x18]
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], r12
mov dword [rbp - 0x38], r9d
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x58], r9
test rdx, rdx
je 0x1401a52f0
lea rcx, [rbp - 0x58]
call fcn.1401d6d50
xor r9d, r9d
inc edi
add rbx, 0x20
cmp edi, dword [rsi]
jl 0x1401a52c0
mov r15, qword [rbp - 0x68]
mov r12, qword [rsp + 0x68]
mov r13, qword [rbp + 0xe0]
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1401a53a0
test r14, r14
je 0x1401a5363
mov rbx, qword [rbp + 0xe8]
lea rax, [0x14015b330]
xorps xmm0, xmm0
mov qword [rbp - 0x38], r9
movdqu xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x58], r13
mov rdx, qword [rbx + 0x40]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x30], rbx
test rdx, rdx
je 0x1401a535b
lea rcx, [rbp - 0x58]
call fcn.1401d6d50
mov rcx, qword [rbp - 0x20]
xor r9d, r9d
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x60], rax
lea rax, [0x14013f600]
mov dword [rbp - 0x38], r9d
mov qword [rbp - 0x50], rax
mov rdx, rcx
lea rax, [0x1401c07f0]
mov qword [rbp - 0x58], r9
mov qword [rbp - 0x48], rax
lea rcx, [rbp - 0x58]
lea rax, [0x1401c07e0]
mov qword [rbp - 0x40], rax
lea rax, [rbp + 0x18]
mov qword [rbp - 0x30], rax
call fcn.1401d6d50
mov rdi, qword [rbp + 0xe8]
mov eax, dword [r12 + 0x28]
mov dword [r12 + 0x2c], eax
cmp qword [rdi + 0x38], 0
jne 0x1401a54b7
cmp qword [rdi + 0x40], 0
jne 0x1401a54b7
cmp dword [r12 + 0x38], 1
jne 0x1401a54b7
mov rax, qword [r12 + 0x30]
mov r9, qword [rax]
mov r11, qword [r9 + 0x20]
test r11, r11
je 0x1401a54b7
cmp dword [r11], 1
jne 0x1401a54b7
test dword [r9 + 4], 0x1000000
jne 0x1401a54b7
mov rsi, qword [rsp + 0x40]
test dword [rsi + 0x5c], 0x10000
jne 0x1401a54b7
mov r9, qword [r9 + 8]
lea r10, [0x1402d4d44]
mov rdx, r9
sub r10, r9
movzx eax, byte [rdx]
movzx r8d, byte [rdx + r10]
cmp eax, r8d
jne 0x1401a544d
test eax, eax
jne 0x1401a5461
mov rcx, qword [r11 + 8]
call fcn.140183ba0
neg eax
mov byte [rbp + 0xf8], 1
sbb bl, bl
and bl, 2
jmp 0x1401a548a
lea rbx, [0x1402ced20]
movzx ecx, byte [rax + rbx]
movzx eax, byte [r8 + rbx]
cmp ecx, eax
jne 0x1401a5466
inc rdx
jmp 0x1401a5423
lea r8, [0x1402d4d48]
sub r8, r9
movzx eax, byte [r9]
movzx edx, byte [r9 + r8]
cmp eax, edx
jne 0x1401a54a6
test eax, eax
jne 0x1401a54b2
mov bl, 1
mov byte [rbp + 0xf8], 2
xor r8d, r8d
mov rdx, r11
mov rcx, rsi
call fcn.140188870
mov qword [rbp + 0x50], rax
test rax, rax
je 0x1401a54be
mov byte [rax + 0x18], bl
jmp 0x1401a54be
movzx ecx, byte [rax + rbx]
movzx eax, byte [rdx + rbx]
cmp ecx, eax
jne 0x1401a54b7
inc r9
jmp 0x1401a5470
mov byte [rbp + 0xf8], 0
mov edx, dword [r12 + 0x38]
xor r9d, r9d
mov dword [rsp + 0x78], r9d
mov r13d, r9d
test edx, edx
jle 0x1401a55fc
mov rbx, qword [rsp + 0x68]
lea r15, [0x14013f600]
mov r12d, r9d
nop word [rax + rax]
mov rax, qword [rbx + 0x30]
mov r14, qword [r12 + rax]
or dword [rbp + 0x40], 0x20000
mov qword [rbp - 0x18], r14
mov rsi, qword [r14 + 0x20]
test rsi, rsi
je 0x1401a5578
cmp dword [rsi], 0
lea rbx, [rsi + 8]
mov edi, r9d
jle 0x1401a5573
lea r14, [0x1401c07f0]
lea r13, [0x1401c07e0]
nop word [rax + rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x18]
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x40], r13
mov dword [rbp - 0x38], r9d
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x58], r9
test rdx, rdx
je 0x1401a5560
lea rcx, [rbp - 0x58]
call fcn.1401d6d50
xor r9d, r9d
inc edi
add rbx, 0x20
cmp edi, dword [rsi]
jl 0x1401a5530
mov r14, qword [rbp - 0x18]
mov r13d, dword [rsp + 0x78]
mov rbx, qword [rsp + 0x68]
test dword [r14 + 4], 0x1000000
je 0x1401a55c2
mov rax, qword [r14 + 0x40]
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x38], r9d
mov qword [rbp - 0x58], r9
mov rdx, qword [rax + 0x48]
lea rax, [0x1401c07f0]
mov qword [rbp - 0x48], rax
lea rax, [0x1401c07e0]
mov qword [rbp - 0x40], rax
lea rax, [rbp + 0x18]
mov qword [rbp - 0x30], rax
test rdx, rdx
je 0x1401a55c2
lea rcx, [rbp - 0x58]
call fcn.1401d6d50
and dword [rbp + 0x40], 0xfffdffff
inc r13d
mov edx, dword [rbx + 0x38]
add r12, 0x20
mov dword [rsp + 0x78], r13d
mov r9d, 0
cmp r13d, edx
jl 0x1401a54f0
mov r15, qword [rbp - 0x68]
mov r12, qword [rsp + 0x68]
mov r14, qword [rsp + 0x58]
mov rdi, qword [rbp + 0xe8]
mov r13, qword [rbp + 0xe0]
mov rsi, qword [rsp + 0x40]
mov eax, dword [r13 + 0x38]
mov dword [r12 + 0x14], eax
cmp byte [rsi + 0x63], 0
jne 0x1401a6d7e
test r14, r14
je 0x1401a67db
mov qword [rbp - 8], r9
mov r14, r9
movzx ebx, r9w
cmp edx, 1
jne 0x1401a571a
mov rax, qword [r12 + 0x30]
cmp dword [rax + 0x14], 0
jl 0x1401a571a
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x1401a571a
mov rdx, qword [rdx + 8]
test rdx, rdx
je 0x1401a5673
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call fcn.140152300
mov rbx, rax
jmp 0x1401a5676
mov rbx, r9
mov rdi, qword [rsp + 0x58]
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call fcn.140188870
mov qword [rbp - 8], rax
mov r14, rax
test rax, rax
jne 0x1401a56b5
mov rcx, qword [r13]
mov rdx, rbx
call fcn.1401884c0
mov r14, rax
mov qword [rbp - 8], rax
neg rax
sbb bx, bx
and bx, 0x500
jmp 0x1401a571f
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [r14 + 4], ecx
jge 0x1401a56e4
mov rcx, qword [r13]
mov r8, rbx
mov rdx, r14
call fcn.1401883d0
mov r14, rax
mov qword [rbp - 8], rax
neg rax
sbb bx, bx
and bx, 0x500
jmp 0x1401a571f
movups xmm0, xmmword [0x1402d1010]
shl rax, 5
movups xmm1, xmmword [0x1402d1020]
mov dword [r14], ecx
movups xmmword [rax + r14 + 8], xmm0
movups xmmword [rax + r14 + 0x18], xmm1
mov qword [rax + r14 + 8], rbx
mov rax, r14
neg rax
sbb bx, bx
and bx, 0x500
jmp 0x1401a571f
mov rdi, qword [rsp + 0x58]
mov eax, dword [r13 + 0x34]
xor r8d, r8d
mov dword [r12 + 4], eax
mov rdx, rdi
inc dword [r13 + 0x34]
mov rcx, r13
mov r9d, dword [r12 + 0x28]
call fcn.140194db0
movsxd r9, dword [r15 + 0x90]
mov r13, rax
mov edx, dword [r12 + 0xc]
mov r8d, dword [r12 + 4]
mov qword [rbp - 0x18], rax
mov dword [rbp - 0x80], r9d
cmp dword [r15 + 0x94], r9d
jg 0x1401a5780
xor eax, eax
mov r9d, edx
mov rcx, r15
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x72]
call fcn.14015ae20
mov r9d, eax
mov dword [rbp - 0x80], eax
jmp 0x1401a57b3
lea rcx, [r9 + r9*2]
xor r10d, r10d
lea eax, [r9 + 1]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], WSACleanup
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rcx, qword [r15]
mov eax, r9d
cmp byte [rcx + 0x63], 0
je 0x1401a57d3
cmp qword [rcx + 0x2e0], 0
jne 0x1401a5819
mov rcx, r13
call fcn.140194fe0
jmp 0x1401a5819
test r9d, r9d
jns 0x1401a57e1
mov eax, dword [r15 + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1401a580c
mov r9d, 0xfffffff7
mov r8, r13
mov rcx, r15
call fcn.1401ceec0
jmp 0x1401a5819
test r13, r13
je 0x1401a5819
mov qword [rdx + 0x10], r13
mov byte [rdx + 1], 0xf7
mov r8, qword [rbp + 0xe0]
mov r9, qword [rsp + 0x58]
mov eax, dword [r8 + 0x38]
inc eax
mov dword [rbp - 0x68], eax
lea edx, [rax + 1]
mov eax, dword [r8 + 0x44]
lea ecx, [rdx + 2]
mov dword [rsp + 0x70], edx
mov dword [r8 + 0x38], ecx
lea edi, [rcx + 1]
dec eax
mov dword [rbp + 0xf8], ecx
mov dword [rbp - 0x6c], eax
lea esi, [rax - 1]
mov dword [r8 + 0x44], esi
add ecx, dword [r9]
mov dword [r8 + 0x38], ecx
mov dword [rsp + 0x78], esi
lea eax, [rcx + 1]
add ecx, dword [r9]
mov dword [r8 + 0x38], ecx
movsxd rcx, dword [r15 + 0x90]
mov dword [rbp - 0x24], eax
cmp dword [r15 + 0x94], ecx
jg 0x1401a589e
xor eax, eax
mov r9d, edx
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r15
lea edx, [rax + 0x45]
call fcn.14015ae20
mov r9, qword [rsp + 0x58]
xor r8d, r8d
jmp 0x1401a58cc
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov qword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov edx, dword [r9]
movsxd rcx, dword [r15 + 0x90]
dec edx
add edx, edi
cmp dword [r15 + 0x94], ecx
jg 0x1401a58fe
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, edi
mov rcx, r15
lea edx, [r8 + 0x48]
call fcn.14015ae20
xor r8d, r8d
jmp 0x1401a5928
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov qword [rax + rcx*8], 0x48
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401a5959
mov dword [rsp + 0x20], r8d
mov r9d, esi
mov r8d, dword [rbp + 0xf8]
mov edx, recv
mov rcx, r15
call fcn.14015ae20
xor r8d, r8d
jmp 0x1401a598d
mov edx, dword [rbp + 0xf8]
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], select
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
cmp dword [rbp - 0x28], 0
mov ecx, 0x240
mov rdi, qword [rsp + 0x58]
mov eax, 0x40
mov rdx, qword [rsp + 0x48]
cmovne ax, cx
mov dword [rsp + 0x30], r8d
or ax, bx
mov rbx, qword [rbp + 0xe0]
mov r9, rdi
mov r8, qword [rbp - 0x60]
mov rcx, rbx
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r14
call fcn.1401c0800
mov qword [rbp - 0x60], rax
mov rcx, rax
test rax, rax
jne 0x1401a59fe
mov rsi, qword [rsp + 0x40]
test r14, r14
je 0x1401a59f2
mov rdx, r14
mov rcx, rsi
call fcn.140152be0
mov r13, qword [rbp + 0xe0]
jmp 0x1401a6d7e
movzx eax, byte [rax + 0x43]
mov dword [rsp + 0x74], eax
movsx eax, byte [rcx + 0x41]
cmp eax, dword [rdi]
jne 0x1401a5a1e
mov rdi, qword [rsp + 0x68]
xor r11d, r11d
mov r12d, r11d
jmp 0x1401a5da2
cmp byte [rsp + 0x50], 0
je 0x1401a5a39
mov rax, qword [rbp + 0xe8]
lea r9, str.DISTINCT
test byte [rax + 4], 1
je 0x1401a5a40
lea r9, str.GROUP_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, rbx
call fcn.1401b92b0
mov r14d, dword [rdi]
mov esi, r14d
mov eax, dword [r12 + 0x28]
mov edx, r14d
mov dword [rsp + 0x48], 1
test eax, eax
jle 0x1401a5aa0
mov r8, qword [r12 + 0x20]
mov r9d, eax
add r8, 0x1a
nop word [rax + rax]
movsx ecx, word [r8]
lea eax, [rsi + 1]
cmp ecx, edx
lea r8, [r8 + 0x20]
cmovl eax, esi
mov esi, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x1401a5a80
cmp esi, 1
jne 0x1401a5ac8
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1401a5ab6
inc dword [rbx + 0x38]
mov r12d, dword [rbx + 0x38]
jmp 0x1401a5aed
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r12d, dword [rbx + rax*4 + 0xd0]
jmp 0x1401a5aed
mov ecx, dword [rbx + 0x28]
mov r12d, dword [rbx + 0x2c]
cmp esi, ecx
jg 0x1401a5ae1
lea eax, [rsi + r12]
sub ecx, esi
mov dword [rbx + 0x2c], eax
mov dword [rbx + 0x28], ecx
jmp 0x1401a5aed
mov eax, dword [rbx + 0x38]
lea r12d, [rax + 1]
add eax, esi
mov dword [rbx + 0x38], eax
xor r9d, r9d
mov byte [rsp + 0x20], 0
mov r8d, r12d
mov rdx, rdi
mov rcx, rbx
call fcn.140183d70
mov rax, qword [rsp + 0x68]
xor r8d, r8d
mov edi, r8d
cmp dword [rax + 0x28], r8d
jle 0x1401a5b69
mov ebx, r8d
mov r13, rax
nop word [rax + rax]
mov rdx, qword [r13 + 0x20]
add rdx, rbx
movsx eax, word [rdx + 0x1a]
cmp eax, r14d
jl 0x1401a5b4f
movsx r9d, word [rdx + 0x18]
lea eax, [r12 + r14]
mov r8d, dword [rdx + 0x10]
mov rcx, r15
mov rdx, qword [rdx]
mov dword [rsp + 0x20], eax
call fcn.1401841f0
inc r14d
inc edi
add rbx, 0x20
cmp edi, dword [r13 + 0x28]
jl 0x1401a5b20
mov r13, qword [rbp - 0x18]
xor r8d, r8d
mov rbx, qword [rbp + 0xe0]
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1401a5b79
inc dword [rbx + 0x38]
mov ebx, dword [rbx + 0x38]
jmp 0x1401a5b88
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov ebx, dword [rbx + rax*4 + 0xd0]
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401a5bb4
mov r9d, esi
mov dword [rsp + 0x20], ebx
mov r8d, r12d
mov edx, 0x5d
mov rcx, r15
call fcn.14015ae20
xor r8d, r8d
jmp 0x1401a5be2
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x5d
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r8
mov rdi, qword [rsp + 0x68]
movsxd rcx, dword [r15 + 0x90]
mov edx, dword [rdi + 4]
cmp dword [r15 + 0x94], ecx
jg 0x1401a5c14
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, r15
mov edx, 0x87
call fcn.14015ae20
jmp 0x1401a5c42
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x87
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
test ebx, ebx
je 0x1401a5c64
mov rcx, qword [rbp + 0xe0]
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x1401a5c64
mov dword [rcx + rax*4 + 0xd0], ebx
mov rbx, rcx
inc byte [rcx + 0x1f]
jmp 0x1401a5c6b
mov rbx, qword [rbp + 0xe0]
cmp esi, 1
jne 0x1401a5c8a
test r12d, r12d
je 0x1401a5c96
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x1401a5c96
mov dword [rbx + rax*4 + 0xd0], r12d
inc byte [rbx + 0x1f]
jmp 0x1401a5c96
cmp esi, dword [rbx + 0x28]
jle 0x1401a5c96
mov dword [rbx + 0x28], esi
mov dword [rbx + 0x2c], r12d
mov rcx, qword [rbp - 0x60]
call fcn.1401c47a0
mov edx, dword [rbx + 0x34]
mov dword [rdi + 8], edx
inc dword [rbx + 0x34]
movzx eax, byte [rbx + 0x1f]
mov dword [rbp - 0x70], edx
test al, al
jne 0x1401a5cbc
inc dword [rbx + 0x38]
mov r8d, dword [rbx + 0x38]
jmp 0x1401a5ccc
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r8d, dword [rbx + rax*4 + 0xd0]
movsxd rcx, dword [r15 + 0x90]
mov dword [rbp - 0x74], r8d
cmp dword [r15 + 0x94], ecx
jg 0x1401a5cfc
mov r9d, r8d
mov dword [rsp + 0x20], esi
mov r8d, edx
mov rcx, r15
mov edx, 0x75
call fcn.14015ae20
xor r11d, r11d
jmp 0x1401a5d2d
lea eax, [rcx + 1]
xor r11d, r11d
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x75
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r11
movsxd rcx, dword [r15 + 0x90]
mov edx, dword [rdi + 4]
cmp dword [r15 + 0x94], ecx
jg 0x1401a5d5f
mov r9d, dword [rsp + 0x60]
mov r8d, edx
mov edx, 0x23
mov dword [rsp + 0x20], r11d
mov rcx, r15
call fcn.14015ae20
xor r11d, r11d
jmp 0x1401a5d91
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x60]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x23
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov r14, qword [rbp - 8]
mov r12d, dword [rsp + 0x48]
mov rcx, qword [rbp - 0x60]
mov byte [rdi + 1], 1
cmp dword [rbp - 0x28], 0
je 0x1401a5df9
mov rax, qword [rsp + 0x40]
test byte [rax + 0x5c], 4
jne 0x1401a5df9
test r12d, r12d
jne 0x1401a5dbe
test byte [rcx + 0x44], 8
je 0x1401a5df9
mov rcx, qword [r15]
mov qword [rbp + 0x58], r11
cmp byte [rcx + 0x63], 0
jne 0x1401a5df9
movsxd rax, dword [rbp - 0x78]
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.140157f70
xor r11d, r11d
mov word [rbx], 0xb1
mov qword [rbx + 0x10], r11
movsxd rsi, dword [r15 + 0x90]
mov dword [rsp + 0x48], esi
test r12d, r12d
je 0x1401a5e6e
mov edx, dword [rdi + 4]
cmp dword [r15 + 0x94], esi
jg 0x1401a5e37
mov r8d, dword [rbp - 0x70]
mov rcx, r15
mov r9d, dword [rbp - 0x74]
mov dword [rsp + 0x20], r8d
mov r8d, edx
mov edx, 0x81
call fcn.14015ae20
xor r11d, r11d
jmp 0x1401a5e6e
mov r8d, dword [rbp - 0x74]
lea rcx, [rsi + rsi*2]
lea eax, [rsi + 1]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8 + 8], r8d
mov r8d, dword [rbp - 0x70]
mov dword [rax + rcx*8 + 0xc], r8d
mov dword [rax + rcx*8], 0x81
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 0x10], r11
mov rax, qword [rsp + 0x58]
mov ebx, r11d
mov edx, dword [rax]
test edx, edx
jle 0x1401a5f2a
mov r14, qword [rsp + 0x68]
lea rdi, [rax + 8]
mov r13d, dword [rbp - 0x24]
mov esi, dword [rbp - 0x70]
lea r8d, [rbx + r13]
test r12d, r12d
je 0x1401a5ef3
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401a5ec3
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, esi
mov edx, 0x5b
mov rcx, r15
call fcn.14015ae20
jmp 0x1401a5f06
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x5b
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r11
jmp 0x1401a5f09
mov rcx, qword [rbp + 0xe0]
mov byte [r14], 1
mov rdx, qword [rdi]
call fcn.140183d10
xor r11d, r11d
mov rax, qword [rsp + 0x58]
inc ebx
add rdi, 0x20
mov edx, dword [rax]
cmp ebx, edx
jl 0x1401a5e90
mov r13, qword [rbp - 0x18]
mov esi, dword [rsp + 0x48]
mov r14, qword [rbp - 8]
test r13, r13
je 0x1401a5f35
inc dword [r13]
mov edx, dword [rax]
movsxd r8, dword [r15 + 0x90]
mov edi, dword [rbp - 0x24]
cmp dword [r15 + 0x94], r8d
jg 0x1401a5f6b
mov r8d, dword [rbp + 0xf8]
mov r9d, edi
mov dword [rsp + 0x20], edx
inc r8d
mov edx, 0x57
mov rcx, r15
call fcn.14015ae20
mov r8d, eax
jmp 0x1401a5fa4
mov r10d, dword [rbp + 0xf8]
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
inc r10d
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x57
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r11
mov rax, qword [r15]
cmp byte [rax + 0x63], 0
je 0x1401a6040
cmp qword [rax + 0x2e0], 0
jne 0x1401a6088
test r13, r13
je 0x1401a6088
add dword [r13], 0xffffffff
jne 0x1401a6088
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x1401a6036
cmp qword [rcx + 0x2e0], 0
je 0x1401a5ff3
mov rdx, r13
call fcn.14015eb90
jmp 0x1401a6088
cmp r13, qword [rcx + 0x1d0]
jae 0x1401a6036
cmp r13, qword [rcx + 0x1c0]
jb 0x1401a6019
mov rax, qword [rcx + 0x1b8]
mov qword [r13], rax
mov qword [rcx + 0x1b8], r13
jmp 0x1401a6088
cmp r13, qword [rcx + 0x1c8]
jb 0x1401a6036
mov rax, qword [rcx + 0x1a8]
mov qword [r13], rax
mov qword [rcx + 0x1a8], r13
jmp 0x1401a6088
mov rcx, r13
call fcn.14012f320
jmp 0x1401a6088
test r8d, r8d
jns 0x1401a604f
mov r8d, dword [r15 + 0x90]
dec r8d
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1401a607b
mov r9d, 0xfffffff7
mov r8, r13
mov rcx, r15
call fcn.1401ceec0
jmp 0x1401a6088
test r13, r13
je 0x1401a6088
mov qword [rdx + 0x10], r13
mov byte [rdx + 1], 0xf7
movsxd rbx, dword [r15 + 0x90]
lea edx, [rbx + 1]
cmp dword [r15 + 0x94], ebx
jg 0x1401a60b3
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, r15
lea edx, [r9 + 0x10]
call fcn.14015ae20
jmp 0x1401a60e1
mov rax, qword [r15 + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [r15 + 0x90], edx
xor r8d, r8d
mov dword [rax + rcx*8], reloc.WS2_32.dll_recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsp + 0x58]
mov edx, edi
mov r13d, dword [rbp + 0xf8]
mov rcx, qword [rbp + 0xe0]
mov r9d, dword [rax]
lea r8d, [r13 + 1]
call fcn.140185760
movsxd rcx, dword [r15 + 0x90]
mov edi, dword [rsp + 0x70]
cmp dword [r15 + 0x94], ecx
jg 0x1401a6134
mov r9d, dword [rbp - 0x6c]
lea r8d, [rdi + 1]
xor eax, eax
mov rcx, r15
mov dword [rsp + 0x20], eax
lea edx, [rax + 0xc]
call fcn.14015ae20
xor r8d, r8d
jmp 0x1401a616b
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
lea edx, [rdi + 1]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x6c]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], select
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401a619a
mov r9d, dword [rsp + 0x60]
mov edx, 0x30
mov dword [rsp + 0x20], r8d
mov rcx, r15
mov r8d, edi
call fcn.14015ae20
xor r8d, r8d
jmp 0x1401a61cc
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], getprotobynumber
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401a61f8
mov r9d, dword [rsp + 0x78]
mov edx, recv
mov dword [rsp + 0x20], r8d
mov rcx, r15
mov r8d, r13d
call fcn.14015ae20
jmp 0x1401a622b
mov edx, dword [rsp + 0x78]
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], select
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov edx, dword [r15 + 0x90]
test ebx, ebx
jns 0x1401a6239
lea ebx, [rdx - 1]
mov rax, qword [r15]
cmp byte [rax + 0x63], 0
je 0x1401a624b
lea rax, [0x14036cf50]
jmp 0x1401a625d
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
mov r13, qword [rsp + 0x68]
mov ebx, dword [rbp - 0x68]
mov r8, r13
mov r9d, dword [rsp + 0x74]
mov rcx, qword [rbp + 0xe0]
mov dword [rax + 8], edx
mov edx, ebx
call fcn.1401cccc0
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401a62a8
xor eax, eax
mov r9d, ebx
mov rcx, r15
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x45]
lea r8d, [rax + 1]
call fcn.14015ae20
jmp 0x1401a62db
lea eax, [rcx + 1]
xor edx, edx
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
test r12d, r12d
je 0x1401a6341
movsxd rcx, dword [r15 + 0x90]
xor r12d, r12d
mov edx, dword [r13 + 4]
cmp dword [r15 + 0x94], ecx
jg 0x1401a6311
mov r8d, edx
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 3]
mov r9d, esi
mov rcx, r15
call fcn.14015ae20
jmp 0x1401a6386
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 3
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], r12
jmp 0x1401a6386
mov rcx, qword [rbp - 0x60]
call fcn.1401c47a0
mov rcx, qword [r15]
cmp byte [rcx + 0x63], 0
jne 0x1401a6383
movsxd rax, dword [rbp - 0x80]
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.140157f70
xor r12d, r12d
mov word [rbx], 0xb1
mov qword [rbx + 0x10], r12
jmp 0x1401a6386
xor r12d, r12d
test r14, r14
je 0x1401a6398
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call fcn.140152be0
movsxd rcx, dword [r15 + 0x90]
lea esi, [rdi + 1]
mov ebx, dword [rbp - 0x6c]
cmp dword [r15 + 0x94], ecx
jg 0x1401a63c8
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov r8d, esi
mov edx, recv
mov rcx, r15
call fcn.14015ae20
jmp 0x1401a63f6
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], select
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401a6421
mov r9d, dword [rsp + 0x60]
xor r8d, r8d
mov rcx, r15
mov dword [rsp + 0x20], r12d
lea edx, [r8 + 0xb]
call fcn.14015ae20
jmp 0x1401a6450
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov qword [rax + rcx*8], select
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
movsxd rdi, dword [r15 + 0x90]
cmp dword [r15 + 0x94], edi
jg 0x1401a647d
mov r9d, dword [rsp + 0x70]
mov edx, 0x45
mov rcx, r15
mov dword [rsp + 0x20], r12d
lea r8d, [rdx - 0x44]
call fcn.14015ae20
jmp 0x1401a64b3
mov edx, dword [rsp + 0x70]
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401a64dc
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, esi
mov rcx, r15
lea edx, [r9 + 0x41]
call fcn.14015ae20
jmp 0x1401a650a
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x41
mov dword [rax + rcx*8 + 4], esi
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
mov rcx, qword [r15 + 0x18]
not ebx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401a6525
mov r8d, ebx
mov rdx, r15
call fcn.14016b8d0
jmp 0x1401a6537
mov rcx, qword [rcx + 0x50]
mov eax, dword [r15 + 0x90]
movsxd r8, ebx
mov dword [rcx + r8*4], eax
movsxd rax, dword [r15 + 0x90]
mov r14d, dword [rbp - 0x68]
lea r8d, [rax + 2]
lea ebx, [rax + 1]
cmp dword [r15 + 0x94], eax
jg 0x1401a656c
mov r9d, r8d
mov dword [rsp + 0x20], r12d
mov r8d, r14d
mov edx, 0x30
mov rcx, r15
call fcn.14015ae20
jmp 0x1401a6599
lea rcx, [rax + rax*2]
mov dword [r15 + 0x90], ebx
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], getprotobynumber
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401a65c2
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, esi
mov rcx, r15
lea edx, [r9 + 0x41]
call fcn.14015ae20
jmp 0x1401a65f0
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x41
mov dword [rax + rcx*8 + 4], esi
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
mov r12, qword [rbp + 0xe0]
mov rdx, r13
mov rcx, r12
call fcn.140153c30
mov rdx, qword [rbp - 0x20]
mov r9d, reloc.WS2_32.dll_recv
mov r8d, ebx
mov rcx, r12
call fcn.1401878d0
mov rax, qword [rbp + 0xf0]
lea r9, [rbp + 0x58]
mov rdx, qword [rbp + 0xe8]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], edi
mov rcx, r12
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
call fcn.14016f980
movsxd rcx, dword [r15 + 0x90]
xor edi, edi
cmp dword [r15 + 0x94], ecx
jg 0x1401a6676
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, esi
lea edx, [rdi + 0x41]
mov rcx, r15
call fcn.14015ae20
jmp 0x1401a66a0
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x41
mov dword [rax + rcx*8 + 4], esi
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [r15 + 0x18]
mov edx, dword [rsp + 0x78]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401a66bf
mov r8d, edx
mov rdx, r15
call fcn.14016b8d0
jmp 0x1401a66d1
mov rcx, qword [rcx + 0x50]
mov eax, dword [r15 + 0x90]
movsxd r8, edx
mov dword [rcx + r8*4], eax
mov rdx, r13
mov rcx, r12
call fcn.14016b5f0
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401a6704
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, r14d
mov rcx, r15
lea edx, [r8 + 0x45]
call fcn.14015ae20
jmp 0x1401a672f
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov qword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401a675b
mov r8d, dword [rbp + 0xf8]
xor r9d, r9d
mov rcx, r15
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x41]
call fcn.14015ae20
jmp 0x1401a678f
mov edx, dword [rbp + 0xf8]
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x41
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov ecx, dword [rsp + 0x74]
test ecx, ecx
je 0x1401a67c4
mov rax, qword [r13 + 0x30]
mov edx, ecx
mov r13, qword [rbp + 0xe0]
mov rcx, r13
mov r9d, dword [rax + 0x18]
mov r8d, dword [rax + 0x14]
call fcn.140154110
mov ebx, dword [rsp + 0x60]
mov r12, qword [rbp + 0xe8]
jmp 0x1401a6c95
mov r13, qword [rbp + 0xe0]
mov ebx, dword [rsp + 0x60]
mov r12, qword [rbp + 0xe8]
jmp 0x1401a6c95
cmp qword [rdi + 0x30], 0
jne 0x1401a6ab7
mov rax, qword [rdi + 0x20]
cmp dword [rax], 1
jne 0x1401a6ab7
mov rsi, qword [rdi + 0x28]
cmp dword [rsi], 1
jne 0x1401a6ab7
cmp qword [rsi + 0x30], 0
jne 0x1401a6ab7
mov rsi, qword [rsi + 0x28]
mov r8, qword [rax + 8]
cmp dword [rsi + 0x54], 0
jne 0x1401a6ab7
cmp byte [r8], 0xa7
jne 0x1401a6ab7
test edx, edx
je 0x1401a6ab7
mov rax, qword [r12 + 0x30]
mov rcx, qword [rax + 8]
mov eax, 0x100
test dword [rcx + 4], eax
je 0x1401a6ab7
test dword [r8 + 4], 0x1000002
jne 0x1401a6ab7
mov rdx, qword [rsi + 0x70]
mov edi, 0xffff8000
test rdx, rdx
je 0x1401a688b
mov rax, qword [r13]
mov edi, r9d
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x1401a688b
nop word [rax + rax]
inc edi
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x1401a6880
mov r10, qword [rbp + 0xe0]
mov r14, r9
mov r13d, dword [r13 + 0x34]
mov rcx, r10
mov rbx, r9
lea eax, [r13 + 1]
mov dword [r10 + 0x34], eax
mov rax, qword [r10 + 0xa0]
mov r12d, dword [rsi + 0x38]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x74]
bt eax, edi
jb 0x1401a68d3
bts eax, edi
mov dword [rcx + 0x74], eax
cmp edi, 1
jne 0x1401a68d8
call fcn.140197800
jmp 0x1401a690a
cmp edi, 1
je 0x1401a6911
mov rax, qword [r10]
movsxd rdx, edi
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x1401a6911
mov rax, qword [rsi]
xor r9d, r9d
mov r8d, dword [rsi + 0x38]
mov edx, edi
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.14015d9f0
mov r10, qword [rbp + 0xe0]
test byte [rsi + 0x40], 0x80
je 0x1401a6932
mov rbx, qword [rsi + 0x10]
test rbx, rbx
je 0x1401a6932
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401a6932
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401a6920
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax + 0x28]
test byte [rax + 0x48], 1
jne 0x1401a697e
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1401a697e
nop dword [rax]
test byte [rax + 0x64], 4
jne 0x1401a6975
movzx ecx, word [rax + 0x5c]
cmp cx, word [rsi + 0x4c]
jge 0x1401a6975
cmp qword [rax + 0x48], 0
jne 0x1401a6975
test rbx, rbx
je 0x1401a6972
cmp cx, word [rbx + 0x5c]
jge 0x1401a6975
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401a6950
test rbx, rbx
je 0x1401a6995
mov r12d, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r10
call fcn.140194e70
mov r14, rax
mov dword [rsp + 0x28], 1
mov r9d, r12d
mov r8d, r13d
mov dword [rsp + 0x20], edi
mov edx, 0x62
mov rcx, r15
call fcn.1401af2e0
test r14, r14
je 0x1401a6a12
mov rcx, qword [r15]
cmp byte [rcx + 0x63], 0
je 0x1401a69d6
cmp qword [rcx + 0x2e0], 0
jne 0x1401a6a12
mov rcx, r14
call fcn.140194fe0
jmp 0x1401a6a12
movsxd rax, dword [r15 + 0x90]
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rdx, [rdx - 3]
cmp byte [rax + rdx*8 + 1], 0
lea rdx, [rax + rdx*8]
je 0x1401a6a0a
mov r9d, 0xfffffff7
mov r8, r14
mov rcx, r15
call fcn.1401ceec0
jmp 0x1401a6a12
mov qword [rdx + 0x10], r14
mov byte [rdx + 1], 0xf7
mov rax, qword [rsp + 0x68]
mov r8d, r13d
mov edx, 0x5e
mov rcx, r15
mov rax, qword [rax + 0x30]
mov r9d, dword [rax + 0x10]
call fcn.1401af0d0
mov r8d, r13d
mov edx, 0x76
mov rcx, r15
call fcn.1401af060
mov r13, qword [rbp + 0xe0]
cmp byte [r13 + 0x113], 2
jne 0x1401a6c46
test rbx, rbx
je 0x1401a6a74
test byte [rsi + 0x40], 0x80
je 0x1401a6a68
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401a6a74
mov rax, qword [rbx]
lea rcx, [0x1402f7cc0]
jmp 0x1401a6a84
xor eax, eax
lea rcx, [0x1402f7cc0]
mov dword [rsp + 0x74], eax
mov rax, rcx
cmp dword [rsp + 0x74], 0
lea rdx, str._USING_COVERING_INDEX
mov r9, qword [rsi]
lea r8, str.SCAN__s_s_s
cmovne rcx, rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor edx, edx
mov rcx, r13
call fcn.1401b92b0
jmp 0x1401a6c46
cmp dword [r12 + 0x2c], 0
mov esi, r9d
mov rdi, r9
movzx ebx, r9w
je 0x1401a6b29
mov r8d, r9d
mov r9d, edx
test edx, edx
jle 0x1401a6b08
mov rcx, qword [r12 + 0x30]
nop dword [rax + rax]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x1401a6af9
mov rax, qword [rcx + 8]
mov r9d, edx
test byte [rax + 4], 0x20
jne 0x1401a6b08
inc r8d
add rcx, 0x20
mov r9d, edx
cmp r8d, edx
jl 0x1401a6ae0
cmp r8d, r9d
jne 0x1401a6b4e
inc dword [r13 + 0x38]
xor r8d, r8d
mov esi, dword [r13 + 0x38]
mov rcx, r15
mov r9d, esi
lea edx, [r8 + 0x45]
call fcn.1401af0d0
jmp 0x1401a6b4e
cmp edx, 1
jne 0x1401a6b4e
mov rax, qword [r12 + 0x30]
cmp dword [rax + 0x14], 0
jl 0x1401a6b4e
mov rax, qword [rax]
mov rdi, qword [rax + 0x20]
mov rax, rdi
neg rax
sbb bx, bx
and bx, 0x500
mov rdx, r12
mov rcx, r13
call fcn.14016b5f0
movzx r14d, byte [rbp + 0xf8]
xor ecx, ecx
mov r9, qword [rbp + 0x50]
movzx eax, r14w
mov r8, qword [rbp - 0x60]
or ax, bx
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x30], ecx
mov rcx, r13
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], rdi
call fcn.1401c0800
mov rbx, rax
test rax, rax
je 0x1401a6d79
movzx edi, byte [rax + 0x43]
mov r8, r12
mov r9d, edi
mov edx, esi
mov rcx, r13
call fcn.1401cccc0
test edi, edi
je 0x1401a6bc8
mov rcx, qword [r12 + 0x30]
mov edx, edi
mov r9d, dword [rcx + 0x18]
mov r8d, dword [rcx + 0x14]
mov rcx, r13
call fcn.140154110
test esi, esi
je 0x1401a6be0
mov edx, 0x45
mov r9d, esi
mov rcx, r15
lea r8d, [rdx - 0x44]
call fcn.1401af0d0
test r14b, r14b
je 0x1401a6c33
test byte [rbx + 0x44], 4
je 0x1401a6c33
cmp byte [rbx + 0x41], 0
je 0x1401a6c33
movzx edx, byte [rbx + 0x40]
sub rdx, 1
js 0x1401a6c28
lea rcx, [rdx + 9]
lea rcx, [rcx + rcx*2]
shl rcx, 5
add rcx, rbx
nop word [rax + rax]
mov rax, qword [rcx + 0x50]
test byte [rax + 0x28], 4
jne 0x1401a6cb0
sub rcx, 0x60
sub rdx, 1
jns 0x1401a6c10
mov edx, dword [rbx + 0x34]
mov rcx, r15
call fcn.1401b9c00
mov rcx, rbx
call fcn.1401c47a0
mov rdx, r12
mov rcx, r13
call fcn.140153c30
mov ebx, dword [rsp + 0x60]
xor edi, edi
mov rdx, qword [rbp - 0x20]
mov r8d, ebx
mov rcx, r13
mov qword [rbp + 0x58], rdi
lea r9d, [rdi + 0x10]
call fcn.1401878d0
mov rax, qword [rbp + 0xf0]
lea r8d, [rdi - 1]
mov r12, qword [rbp + 0xe8]
xor r9d, r9d
mov dword [rsp + 0x38], ebx
mov rdx, r12
mov dword [rsp + 0x30], ebx
mov rcx, r13
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
call fcn.14016f980
mov rcx, qword [r15 + 0x18]
not ebx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401a6cb8
mov r8d, ebx
mov rdx, r15
call fcn.14016b8d0
jmp 0x1401a6cc9
mov edx, dword [rcx + 0x10]
jmp 0x1401a6c2b
mov rcx, qword [rcx + 0x50]
mov eax, dword [r15 + 0x90]
movsxd rdx, ebx
mov dword [rcx + rdx*4], eax
mov rbx, qword [rbp + 0xf0]
cmp byte [rsp + 0x64], 3
jne 0x1401a6cef
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r13
call fcn.1401b92b0
cmp qword [rbp + 0x58], 0
je 0x1401a6d38
cmp dword [rbp + 0x60], 0
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea r9, str.ORDER_BY
mov rcx, r13
cmovg r9, rax
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
call fcn.1401b92b0
mov rax, qword [rbp]
lea r8, [rbp + 0x58]
mov rdx, r12
mov qword [rsp + 0x20], rbx
mov rcx, r13
mov r9d, dword [rax]
call fcn.1401590c0
mov rcx, qword [r15 + 0x18]
mov edx, dword [rbp - 0x10]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401a6d56
mov r8d, edx
mov rdx, r15
call fcn.14016b8d0
jmp 0x1401a6d67
mov rcx, qword [rcx + 0x50]
mov eax, dword [r15 + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
xor eax, eax
cmp dword [r13 + 0x30], eax
mov r12d, eax
setg r12b
mov dword [rsp + 0x74], r12d
mov rsi, qword [rsp + 0x40]
movzx r8d, byte [rsi + 0x63]
add dword [r13 + 0x30], r8d
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x1401a6d9b
mov rdx, rax
mov rcx, rsi
call fcn.140152be0
mov rcx, r13
call fcn.1401b9450
mov eax, dword [rsp + 0x74]
jmp 0x1401a6de3
mov r8, qword [rbp + 0xf0]
mov rdx, rbx
mov rcx, r13
call fcn.14015f410
cmp qword [rbx + 0x58], 0
mov r10d, eax
jne 0x1401a6dcd
mov rcx, r13
call fcn.1401b9450
mov eax, r10d
jmp 0x1401a6de3
mov r13, qword [rbp + 0xe0]
jmp 0x1401a6d79
mov rsi, r14
jmp 0x1401a6d7e
mov eax, r12d
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret