Function at 0x1401c5960
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 + 0x78], r12d
mov rsi, r8
mov qword [rbp + 0x58], rdi
mov rbx, rdx
mov qword [rsp + 0x40], r14
mov r13, rcx
mov qword [rbp - 0x60], r15
test r15, r15
jne 0x1401c59d9
cmp qword [rcx + 0xa0], rdi
jne 0x1401c59cd
test byte [r14 + 0x5c], 8
jne 0x1401c59cd
mov byte [rcx + 0x23], r12b
call fcn.1401d1d70
mov r15, rax
mov qword [rbp - 0x60], rax
test rbx, rbx
je 0x1401c8e95
cmp byte [r14 + 0x63], dil
jne 0x1401c8e95
cmp dword [r13 + 0x30], edi
jne 0x1401c8e95
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rcx, r13
lea edx, [r9 + 0x15]
call fcn.1401981b0
test eax, eax
jne 0x1401c8e95
cmp byte [rsi], 6
ja 0x1401c5a41
mov r8, qword [rbx + 0x48]
test r8, r8
je 0x1401c5a36
lea rdx, [0x1401ab6d0]
mov rcx, r13
call fcn.1401bca80
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.1401c9cf0
cmp dword [r13 + 0x30], edi
jne 0x1401c8e8b
cmp byte [r14 + 0x63], dil
jne 0x1401c8e8b
test dword [rbx + 4], 0x800000
je 0x1401c5b03
mov rdi, qword [rbx + 0x28]
mov ebx, r12d
mov r14d, dword [rdi]
cmp r14d, r12d
jle 0x1401c5af7
mov rsi, qword [rdi + 0x28]
lea r11, [rdi + 0x90]
nop word [rax + rax]
cmp rsi, qword [r11 + 8]
jne 0x1401c5ae5
mov r10, qword [rdi + 0x20]
mov r9, qword [r11]
test r10, r10
jne 0x1401c5aa9
neg r9
sbb ecx, ecx
jmp 0x1401c5add
test r9, r9
je 0x1401c5ae5
mov rdx, r10
lea r15, [0x140000000]
sub r9, r10
nop dword [rax + rax]
movzx ecx, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp ecx, r8d
jne 0x1401c5bd1
test ecx, ecx
jne 0x1401c5beb
mov r15, qword [rbp - 0x60]
test ecx, ecx
je 0x1401c5bf3
inc ebx
add r11, 0x70
cmp ebx, r14d
jl 0x1401c5a90
mov rsi, qword [rbp + 0xf0]
mov r14, qword [rsp + 0x40]
mov rbx, qword [rbp + 0xe8]
cmp byte [rsi], 9
jne 0x1401c5b13
mov rdx, rbx
mov rcx, r13
call fcn.1401af5f0
mov rdx, rbx
mov rcx, r13
call fcn.1401ea320
test eax, eax
jne 0x1401c8e29
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 - 0x78], rax
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x60], rax
xor eax, eax
mov esi, eax
mov dword [rbp + 0xf8], edx
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
cmp qword [rbx + 0x50], rax
jne 0x1401c8e59
mov r12d, eax
cmp esi, dword [rdi]
jge 0x1401c5d73
imul rbx, r12, 0x70
add rbx, rdi
test byte [rbx + 0x44], 8
mov r14, qword [rbx + 0x30]
mov r13, qword [rbx + 0x28]
je 0x1401c5c32
mov rax, qword [rbp + 0xe8]
mov edx, dword [rbx + 0x4c]
mov rcx, qword [rax + 0x30]
call fcn.1401aafd0
test eax, eax
je 0x1401c5c2c
mov rax, qword [rsp + 0x40]
test dword [rax + 0x5c], 0x2000
jne 0x1401c5c2c
and byte [rbx + 0x44], 0xd7
mov edx, dword [rbx + 0x4c]
mov rbx, qword [rbp + 0xe8]
mov rcx, qword [rbx + 0x30]
call fcn.1401edda0
mov edx, dword [rbp + 0xf8]
jmp 0x1401c5c39
movzx ecx, byte [rcx + r15 + 0x3186e0]
movzx eax, byte [r8 + r15 + 0x3186e0]
sub ecx, eax
jne 0x1401c5ad9
inc rdx
jmp 0x1401c5ac0
cmp r10, 0
jne 0x1401c5bfc
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.1401a59d0
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx + 0x63]
mov rcx, r13
add dword [r13 + 0x30], eax
call fcn.1401db1b0
mov eax, dword [rsp + 0x78]
jmp 0x1401c8e98
mov edx, dword [rbp + 0xf8]
mov rbx, qword [rbp + 0xe8]
test r14, r14
je 0x1401c5cd8
mov rax, qword [r14 + 0x20]
movsx r8d, word [r13 + 0x46]
mov ecx, dword [rax]
cmp r8d, ecx
jne 0x1401c5d37
test byte [r14 + 4], 8
jne 0x1401c5cd8
cmp qword [r14 + 0x48], 0
je 0x1401c5c7f
test esi, esi
jne 0x1401c5c7f
test dword [rbx + 4], 0x40000
je 0x1401c5c7f
cmp dword [rdi], 1
je 0x1401c5cd8
test byte [rdi + 0xb4], 0xa
jne 0x1401c5cd8
mov r13, qword [rbp + 0xe0]
mov r9d, edx
mov rcx, r13
mov r8d, esi
mov rdx, rbx
call fcn.14017b000
test eax, eax
je 0x1401c5cae
cmp dword [r13 + 0x30], 0
jne 0x1401c5cff
mov esi, 0xffffffff
mov r12, 0xffffffffffffffff
mov r14, qword [rsp + 0x40]
mov rdi, qword [rbx + 0x28]
cmp byte [r14 + 0x63], 0
jne 0x1401c5d1d
mov rax, qword [rbp + 0xf0]
cmp byte [rax], 8
jbe 0x1401c5ce4
mov rax, qword [rbx + 0x48]
mov qword [rbp - 0x78], rax
mov qword [rbp + 0x60], rax
jmp 0x1401c5ce4
mov r14, qword [rsp + 0x40]
mov r13, qword [rbp + 0xe0]
inc esi
inc r12
cmp qword [rbx + 0x50], 0
jne 0x1401c8e59
mov edx, dword [rbp + 0xf8]
jmp 0x1401c5b68
mov rax, qword [rsp + 0x40]
mov rcx, r13
movzx eax, byte [rax + 0x63]
add dword [r13 + 0x30], eax
call fcn.1401db1b0
mov eax, dword [rsp + 0x78]
jmp 0x1401c8e98
movzx eax, byte [r14 + 0x63]
mov rcx, r13
add dword [r13 + 0x30], eax
call fcn.1401db1b0
mov eax, dword [rsp + 0x78]
jmp 0x1401c8e98
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.1401a59d0
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx + 0x63]
mov rcx, r13
add dword [r13 + 0x30], eax
call fcn.1401db1b0
mov eax, dword [rsp + 0x78]
jmp 0x1401c8e98
mov rax, qword [rbx + 0x30]
mov rbx, rdi
mov qword [rsp + 0x50], rbx
test rax, rax
je 0x1401c5f10
cmp byte [rax], 0x2c
mov qword [rsp + 0x50], rbx
jne 0x1401c5f10
test dword [r14 + 0x5c], 0x8000
mov qword [rsp + 0x50], rbx
jne 0x1401c5f10
mov rax, qword [r13]
lea rsi, [0x14018b270]
mov rbx, qword [rbp + 0xe8]
lea r14, [fcn.14002ad80]
add rax, 0x63
mov qword [rsp + 0x50], 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.140177a60
cmp dword [rbp + 0x28], edi
je 0x1401c5f00
mov rdx, qword [rbx + 0x30]
lea rax, [rbp + 0x18]
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x28], rax
test rdx, rdx
je 0x1401c5e2f
lea rcx, [rbp - 0x50]
call fcn.1401f73e0
mov rax, qword [rbp + 0x18]
mov rbx, qword [rbp + 0x38]
mov rcx, qword [rax]
test rbx, rbx
je 0x1401c5ef9
test rcx, rcx
je 0x1401c5e9f
cmp qword [rcx + 0x2e0], rdi
je 0x1401c5e5e
mov rdx, rbx
call fcn.140182360
jmp 0x1401c5ef9
cmp rbx, qword [rcx + 0x1d0]
jae 0x1401c5e9f
cmp rbx, qword [rcx + 0x1c0]
jb 0x1401c5e83
mov rax, qword [rcx + 0x1b8]
mov qword [rbx], rax
mov qword [rcx + 0x1b8], rbx
jmp 0x1401c5ef9
cmp rbx, qword [rcx + 0x1c8]
jb 0x1401c5e9f
mov rax, qword [rcx + 0x1a8]
mov qword [rbx], rax
mov qword [rcx + 0x1a8], rbx
jmp 0x1401c5ef9
cmp dword [reloc.WS2_32.dll_accept], edi
je 0x1401c5ef0
mov rcx, qword [0x1403e0e40]
test rcx, rcx
je 0x1401c5eb9
call qword [0x1403cb550]
mov rcx, rbx
call qword [0x1403cb508]
dec qword [0x1403e0dd8]
mov rcx, rbx
movsxd rdx, eax
sub qword [0x1403e0d90], rdx
call qword [0x1403cb4f8]
mov rcx, qword [0x1403e0e40]
test rcx, rcx
je 0x1401c5ef9
call qword [0x1403cb560]
jmp 0x1401c5ef9
mov rcx, rbx
call qword [0x1403cb4f8]
mov rbx, qword [rbp + 0xe8]
cmp dword [rbp + 0x2c], edi
jne 0x1401c5de0
mov rbx, qword [rsp + 0x50]
jmp 0x1401c5f12
xor edi, edi
cmp dword [rbx], 0
lea rdx, [0x140348ec3]
mov ecx, edi
mov dword [rsp + 0x68], ecx
jle 0x1401c6676
mov qword [rsp + 0x60], rdi
nop dword [rax]
imul rsi, rdi, 0x70
add rsi, rbx
cmp qword [rsi + 0x60], 0
lea r12, [rsi + 8]
jne 0x1401c5f68
mov r8, qword [rsi + 0x18]
test r8, r8
je 0x1401c5f68
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.1401981b0
mov ecx, dword [rsp + 0x68]
mov r14, qword [rsi + 0x30]
mov qword [rbp - 0x18], r14
test r14, r14
je 0x1401c6188
mov rbx, qword [rbp + 0xe8]
lea rdx, [rsp + 0x5c]
xor ecx, ecx
mov dword [rsp + 0x5c], ecx
mov rcx, rbx
call fcn.14017ecd0
mov eax, dword [rsp + 0x5c]
add dword [r13 + 0x11c], eax
mov rax, qword [rsp + 0x40]
test dword [rax + 0x5c], 0x1000
jne 0x1401c5fdd
test byte [rsi + 0x48], 0x80
je 0x1401c5fbc
mov rax, qword [rsi + 0x70]
cmp byte [rax + 0x12], 0
je 0x1401c5fdd
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.14018b850
mov rax, qword [r13 + 0x158]
mov rcx, qword [rsp + 0x50]
mov qword [rbp - 0x10], rax
mov rax, qword [rsi + 0x18]
mov qword [r13 + 0x158], rax
test rdi, rdi
jne 0x1401c61aa
cmp dword [rcx], 1
je 0x1401c6013
test byte [rcx + 0xb4], 0xa
je 0x1401c61aa
test byte [rsi + 0x48], 0x80
je 0x1401c6027
mov rax, qword [rsi + 0x70]
cmp byte [rax + 0x12], 0
je 0x1401c61aa
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 0x1401c6067
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, r15
lea edx, [r9 + 0xd]
call fcn.14017e5d0
xor r8d, r8d
jmp 0x1401c6098
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.1401db070
lea r8, [rbp + 0x18]
mov rdx, r14
mov rcx, r13
call fcn.1401c5960
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.1401d24b0
mov rax, qword [r15]
mov edx, dword [r15 + 0x90]
cmp byte [rax + 0x63], 0
je 0x1401c6116
lea rax, [0x1403e1130]
jmp 0x1401c612f
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 + 0x60]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
cmp byte [r14 + 0x63], 0
jne 0x1401c5d1d
mov rcx, qword [rbp + 0xe8]
lea rdx, [rsp + 0x5c]
mov dword [rsp + 0x5c], r12d
call fcn.14017ecd0
mov rax, qword [rbp - 0x10]
mov edx, dword [rsp + 0x5c]
sub dword [r13 + 0x11c], edx
mov ecx, dword [rsp + 0x68]
mov qword [r13 + 0x158], rax
inc ecx
inc rdi
mov dword [rsp + 0x68], ecx
mov qword [rsp + 0x60], rdi
cmp ecx, dword [rbx]
jge 0x1401c6674
lea rdx, [0x140348ec3]
jmp 0x1401c5f30
test byte [rsi + 0x48], 0x80
je 0x1401c629c
mov rbx, qword [rsi + 0x70]
mov edx, dword [rbx + 4]
test edx, edx
jle 0x1401c629c
movsxd rcx, dword [r15 + 0x90]
xor r12d, r12d
mov r8d, dword [rbx + 8]
cmp dword [r15 + 0x94], ecx
jg 0x1401c61f1
mov r9d, edx
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 0xc]
mov rcx, r15
call fcn.14017e5d0
jmp 0x1401c6220
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 0x1401c628e
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401c625f
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x64
mov rcx, r15
call fcn.14017e5d0
movzx eax, word [rbx + 0x10]
mov word [r14 + 2], ax
jmp 0x1401c6143
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 0x1401c6143
mov r14, qword [rsi + 0x30]
test dword [r14 + 4], 0x1000000
jne 0x1401c6334
lea rdi, [rcx + 8]
cmp rdi, r12
jae 0x1401c6334
mov r10, qword [rdi + 0x28]
test r10, r10
je 0x1401c632b
test byte [rdi + 0x40], 0x10
jne 0x1401c632b
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x1401c632b
mov rax, qword [rdi + 0x20]
mov r11, qword [rax + 0x70]
mov rax, qword [rsi + 0x28]
cmp r11, qword [rax + 0x70]
jne 0x1401c632b
mov r9, qword [rsi + 0x18]
test r9, r9
je 0x1401c632b
sub r9, rdx
nop dword [rax]
movzx eax, byte [rdx]
mov rbx, rcx
movzx r8d, byte [rdx + r9]
cmp eax, r8d
jne 0x1401c6377
test eax, eax
jne 0x1401c6398
test r11, r11
jne 0x1401c631c
mov eax, dword [r10 + 0x10]
mov qword [rsp + 0x50], rcx
cmp dword [r14 + 0x10], eax
jne 0x1401c632b
test dword [r10 + 4], 0x1000000
mov qword [rsp + 0x50], rbx
je 0x1401c63a0
add rdi, 0x70
cmp rdi, r12
jb 0x1401c62b7
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 0x1401c6481
mov r9d, edx
mov dword [rsp + 0x20], r8d
lea edx, [r8 + 0x45]
mov rcx, r15
call fcn.14017e5d0
mov ebx, eax
xor r8d, r8d
jmp 0x1401c64ac
lea rbx, [0x140000000]
movzx ecx, byte [rax + rbx + 0x3186e0]
movzx eax, byte [r8 + rbx + 0x3186e0]
cmp ecx, eax
mov rcx, qword [rsp + 0x50]
jne 0x1401c632b
inc rdx
jmp 0x1401c62f0
mov edx, dword [rdi + 0x30]
xor r12d, r12d
test edx, edx
je 0x1401c6404
movsxd rcx, dword [r15 + 0x90]
mov r8d, dword [rdi + 0x34]
cmp dword [r15 + 0x94], ecx
jg 0x1401c63d5
mov r9d, edx
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 0xc]
mov rcx, r15
call fcn.14017e5d0
jmp 0x1401c6404
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 0x1401c6432
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x64
mov rcx, r15
call fcn.14017e5d0
jmp 0x1401c6461
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 - 0x18]
mov rdi, qword [rsp + 0x60]
mov qword [rsp + 0x50], rbx
movzx ecx, word [rax + 2]
mov word [r14 + 2], cx
jmp 0x1401c6148
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 0x1401c6511
movsxd rdi, dword [r15 + 0x90]
cmp dword [r15 + 0x94], edi
jg 0x1401c64e6
xor r9d, r9d
mov dword [rsp + 0x20], r8d
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 0x11]
call fcn.14017e5d0
mov edi, eax
xor r8d, r8d
jmp 0x1401c6511
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.1401db070
mov r14, qword [rbp - 0x18]
lea r8, [rbp + 0x18]
mov rdx, r14
mov rcx, r13
call fcn.1401c5960
mov rcx, qword [rsi + 0x28]
movzx eax, word [r14 + 2]
mov word [rcx + 0x4a], ax
test edi, edi
je 0x1401c659b
mov rax, qword [r15]
mov edx, dword [r15 + 0x90]
cmp byte [rax + 0x63], 0
je 0x1401c657f
lea rax, [0x1403e1130]
jmp 0x1401c6598
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 0x1401c65cb
xor r9d, r9d
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 0x41]
mov rcx, r15
call fcn.14017e5d0
mov edx, eax
jmp 0x1401c65f6
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 0x1401c6603
mov ebx, dword [r15 + 0x90]
dec ebx
mov rax, qword [r15]
cmp byte [rax + 0x63], 0
je 0x1401c6615
lea rax, [0x1403e1130]
jmp 0x1401c6627
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 0x1401c613e
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x60]
test al, 8
jne 0x1401c6148
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 0x1401c6148
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 - 0x58], rax
mov rax, qword [rbx + 0x40]
mov qword [rbp - 0x18], rax
movzx eax, byte [rbx + 4]
and al, 1
mov qword [rbp], rsi
mov byte [rsp + 0x48], al
movzx r14d, al
mov byte [rbp + 8], al
mov eax, ecx
and al, 9
mov qword [rsp + 0x60], r12
cmp al, 1
jne 0x1401c67e3
mov rdx, qword [rbp - 0x78]
test rdx, rdx
jne 0x1401c6762
test rsi, rsi
je 0x1401c67b6
mov edi, 0xffffffff
mov dword [rbp - 0x70], edi
mov rax, qword [rbp + 0xf0]
mov dword [rbp + 0x78], edi
cmp byte [rax], 0xc
jne 0x1401c66ff
mov r9d, dword [rsi]
mov edx, WSAStartup
mov r8d, dword [rax + 4]
mov rcx, r15
call fcn.1401d12a0
dec dword [r13 + 0x44]
mov ecx, 0x4000
mov rax, qword [rbp + 0xe8]
mov r8d, dword [r13 + 0x44]
mov dword [rbp - 8], r8d
test dword [rax + 4], ecx
jne 0x1401c6725
mov ecx, 0x140
mov word [rax + 2], cx
mov rdx, rax
mov rcx, r13
call fcn.14016eea0
mov rdx, qword [rbp + 0xe8]
cmp dword [rdx + 8], 0
jne 0x1401c6926
test edi, edi
js 0x1401c6926
mov rax, qword [r15]
cmp byte [rax + 0x63], 0
je 0x1401c690a
lea rax, [0x1403e1130]
jmp 0x1401c691c
test rsi, rsi
je 0x1401c67e3
mov eax, dword [rdx]
cmp eax, dword [rsi]
jne 0x1401c67e3
test eax, eax
jle 0x1401c67b6
lea rbx, [rdx + 0x18]
sub rsi, rdx
movzx eax, byte [rsi + rbx]
cmp byte [rbx], al
jne 0x1401c67e3
mov r8, qword [rsi + rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [rbx - 0x10]
xor ecx, ecx
call fcn.1401aa090
test eax, eax
jne 0x1401c67e3
mov rax, qword [rbp - 0x78]
inc edi
add rbx, 0x20
cmp edi, dword [rax]
jl 0x1401c6778
mov rbx, qword [rbp + 0xe8]
mov rsi, qword [rbp]
mov ecx, dword [rbx + 4]
cmp qword [rbx + 0x70], 0
jne 0x1401c67e3
and ecx, 0xfffffffe
xor r8d, r8d
mov dword [rbx + 4], ecx
mov rdx, rsi
mov rcx, qword [rsp + 0x40]
call fcn.1401ab6e0
or dword [rbx + 4], 8
mov r12, rax
mov qword [rsp + 0x60], rax
mov qword [rbx + 0x38], rax
mov rdi, qword [rbp - 0x78]
mov rsi, qword [rbp]
test rdi, rdi
je 0x1401c66d4
mov r9d, dword [rsi]
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.1401b7860
mov r8d, dword [r13 + 0x34]
mov rbx, rax
mov dword [rbp + 0x6c], 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 - 0x70], edi
cmp dword [r15 + 0x94], edi
jg 0x1401c684c
xor ecx, ecx
mov dword [rsp + 0x20], ecx
lea edx, [rcx + 0x70]
mov rcx, r15
call fcn.14017e5d0
mov edi, eax
mov dword [rbp - 0x70], eax
jmp 0x1401c687d
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], WSAStartup
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 0x1401c68b9
cmp qword [rcx + 0x2e0], 0
jne 0x1401c66dc
test rbx, rbx
je 0x1401c66dc
add dword [rbx], 0xffffffff
jne 0x1401c66dc
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
call fcn.1401a2e60
jmp 0x1401c66dc
test edi, edi
jns 0x1401c68c6
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 0x1401c68f4
mov r9d, 0xfffffff7
mov r8, rbx
mov rcx, r15
call fcn.1401efee0
jmp 0x1401c66dc
test rbx, rbx
je 0x1401c66dc
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf7
jmp 0x1401c66dc
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
or byte [rbp + 0x84], 1
mov byte [rax], WSAStartup
test byte [rdx + 4], 1
je 0x1401c6a4b
mov esi, dword [r13 + 0x34]
xor r9d, r9d
xor r8d, r8d
mov dword [rbp + 0xc], esi
mov rcx, r13
lea eax, [rsi + 1]
mov dword [r13 + 0x34], eax
mov rdx, qword [rdx + 0x20]
call fcn.1401b7860
movsxd rdi, dword [r15 + 0x90]
mov rbx, rax
cmp dword [r15 + 0x94], edi
jg 0x1401c697e
xor eax, eax
xor r9d, r9d
mov r8d, esi
mov dword [rsp + 0x20], eax
mov rcx, r15
lea edx, [rax + 0x70]
call fcn.14017e5d0
mov edi, eax
jmp 0x1401c69aa
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], WSAStartup
mov dword [rax + rcx*8 + 4], esi
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [r15]
mov eax, edi
cmp byte [rcx + 0x63], 0
je 0x1401c69d7
cmp qword [rcx + 0x2e0], 0
jne 0x1401c6a1c
test rbx, rbx
je 0x1401c6a1c
add dword [rbx], 0xffffffff
jne 0x1401c6a1c
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
call fcn.1401a2e60
jmp 0x1401c6a1c
test edi, edi
jns 0x1401c69e4
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 0x1401c6a0f
mov r9d, 0xfffffff7
mov r8, rbx
mov rcx, r15
call fcn.1401efee0
jmp 0x1401c6a1c
test rbx, rbx
je 0x1401c6a1c
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf7
movsxd rax, dword [r15 + 0x90]
mov dword [rbp + 0x10], edi
test eax, eax
jle 0x1401c6a3f
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 0x1401c6a4e
xor sil, sil
cmp dword [rbp + 0xf8], 0
mov byte [rbp + 9], sil
mov dword [rsp + 0x5c], esi
jne 0x1401c6c6d
test r12, r12
jne 0x1401c6c6d
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 0x1401c6a9e
mov rcx, r13
call fcn.1401e78f0
mov rdx, qword [rbp + 0xe8]
movsx eax, word [rdx + 2]
mov rcx, r13
mov r8, qword [rbp - 0x58]
mov dword [rsp + 0x30], eax
mov rax, qword [rdx + 0x20]
mov rdx, qword [rsp + 0x50]
mov word [rsp + 0x28], bx
mov rbx, qword [rbp - 0x78]
mov r9, rbx
mov qword [rsp + 0x20], rax
call fcn.1401e21c0
mov r13, rax
test rax, rax
je 0x1401c8e82
mov r12, qword [rbp + 0xe8]
movzx eax, word [rax + 0x48]
cmp ax, word [r12 + 2]
jge 0x1401c6af1
mov word [r12 + 2], ax
cmp byte [rsp + 0x48], 0
je 0x1401c6b0e
movzx ecx, byte [r13 + 0x43]
test cl, cl
movzx esi, sil
cmovne esi, ecx
mov dword [rsp + 0x5c], esi
mov byte [rbp + 9], sil
test rbx, rbx
je 0x1401c6b52
test byte [r13 + 0x44], 4
movsx edx, byte [r13 + 0x41]
mov dword [rbp + 0x68], edx
jne 0x1401c6b28
mov eax, dword [r13 + 0x30]
jmp 0x1401c6b3d
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 + 0x80], eax
mov eax, 0
cmove rbx, rax
mov qword [rbp + 0x60], rbx
mov eax, dword [rbp - 0x70]
test eax, eax
js 0x1401c6b68
test rbx, rbx
jne 0x1401c6b68
mov edx, eax
mov rcx, r15
call fcn.1401d1980
mov rcx, qword [rbp + 0xe0]
mov rdx, r12
test rdi, rdi
je 0x1401c6c25
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.1401e7f60
xor r8d, r8d
mov r9d, r14d
mov rcx, r15
lea edx, [r8 + 0xb]
call fcn.1401d12a0
mov edx, ebx
mov rcx, r15
call fcn.1401def50
mov rbx, qword [rbp + 0xf0]
lea r9, [rbp + 0x60]
xor eax, eax
mov dword [rsp + 0x38], r14d
mov dword [rbp + 0x80], 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.1401932e0
mov edx, esi
mov rcx, r15
call fcn.1401def50
mov r8d, edi
mov edx, 0x41
mov rcx, r15
call fcn.1401d1230
mov edx, r14d
mov rcx, r15
call fcn.1401def50
jmp 0x1401c8d80
mov eax, dword [r13 + 0x34]
lea r9, [rbp + 0x60]
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.1401932e0
mov rcx, r13
call fcn.1401e5ee0
mov r13, qword [rbp + 0xe0]
jmp 0x1401c8d80
mov r14, qword [rsp + 0x60]
xor r9d, r9d
mov dword [rbp - 0x68], r9d
mov dword [rbp - 0x6c], r9d
mov dword [rbp - 0x20], r9d
test r14, r14
je 0x1401c6daa
mov rcx, qword [rdx + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x1401c6cae
add rcx, 0x22
nop dword [rax + rax]
dec eax
mov word [rcx], r9w
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x1401c6ca0
mov eax, dword [r14]
test eax, eax
jle 0x1401c6cce
lea rcx, [r14 + 0x22]
nop dword [rax]
dec eax
mov word [rcx], r9w
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x1401c6cc0
cmp word [rdx + 2], 0x42
jle 0x1401c6cde
mov eax, 0x42
mov word [rdx + 2], ax
mov r9, qword [rbp - 0x78]
test r9, r9
je 0x1401c6d74
mov eax, dword [r14]
cmp eax, dword [r9]
jne 0x1401c6d74
xor ecx, ecx
mov edx, ecx
test eax, eax
jle 0x1401c6d29
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 0x1401c6d10
xor ecx, ecx
cmp eax, dword [r9]
jne 0x1401c6d74
mov edi, ecx
test eax, eax
jle 0x1401c6d6d
mov rsi, r14
lea rbx, [r9 + 0x18]
sub rsi, r9
nop
movzx eax, byte [rbx]
cmp byte [rbx + rsi], al
jne 0x1401c6d74
mov r8, qword [rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [rbx + rsi - 0x10]
xor ecx, ecx
call fcn.1401aa090
test eax, eax
jne 0x1401c6d74
inc edi
add rbx, 0x20
cmp edi, dword [r14]
jl 0x1401c6d40
mov dword [rbp - 0x20], 1
xor r9d, r9d
dec dword [r13 + 0x44]
mov edx, 0x40
mov rdi, qword [rsp + 0x40]
mov eax, dword [r13 + 0x44]
mov dword [rsp + 0x58], eax
cmp dx, word [rdi + 0x184]
jbe 0x1401c6dc8
cmp dword [rdi + 0x180], 0
jne 0x1401c6db1
inc dword [rdi + 0x194]
jmp 0x1401c6e61
mov word [rdx + 2], r9w
jmp 0x1401c6d77
cmp byte [rdi + 0x63], 0
je 0x1401c6e61
mov r12, r9
mov qword [rsp + 0x70], r9
jmp 0x1401c7082
mov r12, qword [rdi + 0x1b8]
mov qword [rsp + 0x70], r12
test r12, r12
je 0x1401c6def
mov rax, qword [r12]
mov qword [rdi + 0x1b8], rax
inc dword [rdi + 0x190]
jmp 0x1401c6e7a
mov r12, qword [rdi + 0x1b0]
mov qword [rsp + 0x70], r12
test r12, r12
je 0x1401c6e13
mov rax, qword [r12]
mov qword [rdi + 0x1b0], rax
inc dword [rdi + 0x190]
jmp 0x1401c6e7a
mov r12, qword [rdi + 0x1a8]
mov qword [rsp + 0x70], r12
test r12, r12
je 0x1401c6e37
mov rax, qword [r12]
mov qword [rdi + 0x1a8], rax
inc dword [rdi + 0x190]
jmp 0x1401c6e7a
mov r12, qword [rdi + 0x1a0]
mov qword [rsp + 0x70], r12
test r12, r12
je 0x1401c6e5b
mov rax, qword [r12]
inc dword [rdi + 0x190]
mov qword [rdi + 0x1a0], rax
jmp 0x1401c6e7a
inc dword [rdi + 0x198]
mov rcx, rdi
call fcn.140171520
mov qword [rsp + 0x70], rax
mov r12, rax
test rax, rax
je 0x1401c707f
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 0x1401c6f63
mov eax, 0x18
cmp ax, word [rcx + 0x184]
jbe 0x1401c6edb
cmp dword [rcx + 0x180], 0
jne 0x1401c6eca
inc dword [rcx + 0x194]
mov edx, eax
call fcn.140171520
jmp 0x1401c6f6d
cmp byte [rcx + 0x63], 0
je 0x1401c6f59
xor eax, eax
jmp 0x1401c6f6d
mov rdx, qword [rcx + 0x1b8]
test rdx, rdx
je 0x1401c6ef9
mov rax, qword [rdx]
mov qword [rcx + 0x1b8], rax
inc dword [rcx + 0x190]
jmp 0x1401c6f70
mov rdx, qword [rcx + 0x1b0]
test rdx, rdx
je 0x1401c6f17
mov rax, qword [rdx]
mov qword [rcx + 0x1b0], rax
inc dword [rcx + 0x190]
jmp 0x1401c6f70
mov rdx, qword [rcx + 0x1a8]
test rdx, rdx
je 0x1401c6f35
mov rax, qword [rdx]
mov qword [rcx + 0x1a8], rax
inc dword [rcx + 0x190]
jmp 0x1401c6f70
mov rdx, qword [rcx + 0x1a0]
test rdx, rdx
je 0x1401c6f53
mov rax, qword [rdx]
inc dword [rcx + 0x190]
mov qword [rcx + 0x1a0], rax
jmp 0x1401c6f70
inc dword [rcx + 0x198]
mov rdx, rax
call fcn.140171520
jmp 0x1401c6f6d
mov ecx, 0x18
call fcn.1401b8f80
mov rdx, rax
test rdx, rdx
je 0x1401c6f9a
mov rcx, qword [r13 + 0x188]
lea rax, [0x140162cf0]
mov qword [rdx], rcx
mov qword [r13 + 0x188], rdx
mov qword [rdx + 8], r12
mov qword [rdx + 0x10], rax
jmp 0x1401c707f
mov rdx, qword [r12 + 0x20]
mov rbx, qword [r13]
test rdx, rdx
je 0x1401c6fb0
mov rcx, rbx
call fcn.1401a2e60
mov rdx, qword [r12 + 0x30]
test rdx, rdx
je 0x1401c6fc2
mov rcx, rbx
call fcn.1401a2e60
test rbx, rbx
je 0x1401c7024
cmp qword [rbx + 0x2e0], 0
je 0x1401c6fe1
mov rdx, r12
mov rcx, rbx
call fcn.140182360
jmp 0x1401c707f
cmp r12, qword [rbx + 0x1d0]
jae 0x1401c7024
cmp r12, qword [rbx + 0x1c0]
jb 0x1401c7007
mov rax, qword [rbx + 0x1b8]
mov qword [r12], rax
mov qword [rbx + 0x1b8], r12
jmp 0x1401c707f
cmp r12, qword [rbx + 0x1c8]
jb 0x1401c7024
mov rax, qword [rbx + 0x1a8]
mov qword [r12], rax
mov qword [rbx + 0x1a8], r12
jmp 0x1401c707f
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1401c7076
mov rcx, qword [0x1403e0e40]
test rcx, rcx
je 0x1401c703f
call qword [0x1403cb550]
mov rcx, r12
call qword [0x1403cb508]
dec qword [0x1403e0dd8]
movsxd rcx, eax
sub qword [0x1403e0d90], rcx
mov rcx, r12
call qword [0x1403cb4f8]
mov rcx, qword [0x1403e0e40]
test rcx, rcx
je 0x1401c707f
call qword [0x1403cb560]
jmp 0x1401c707f
mov rcx, r12
call qword [0x1403cb4f8]
xor r9d, r9d
cmp byte [rdi + 0x63], 0
jne 0x1401c8e2e
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 + 0x50]
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 0x1401c70d1
mov eax, dword [r14]
jmp 0x1401c70d4
mov eax, r9d
mov rsi, qword [rbp]
mov dword [r12 + 0xc], eax
mov qword [r12 + 0x18], r14
test rsi, rsi
je 0x1401c7158
cmp dword [rsi], 0
lea rbx, [rsi + 8]
mov edi, r9d
jle 0x1401c7158
lea r15, [0x140163d30]
lea r12, [0x1401e21b0]
lea r14, [0x1401e21a0]
nop dword [rax + rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x18]
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], r14
mov dword [rbp - 0x30], r9d
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x50], r9
test rdx, rdx
je 0x1401c7140
lea rcx, [rbp - 0x50]
call fcn.1401f73e0
xor r9d, r9d
inc edi
add rbx, 0x20
cmp edi, dword [rsi]
jl 0x1401c7110
mov r15, qword [rbp - 0x60]
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x60]
mov rsi, qword [rbp - 0x78]
test rsi, rsi
je 0x1401c71da
cmp dword [rsi], 0
lea rbx, [rsi + 8]
mov edi, r9d
jle 0x1401c71da
lea r15, [0x140163d30]
lea r13, [0x1401e21b0]
lea r12, [0x1401e21a0]
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x18]
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], r12
mov dword [rbp - 0x30], r9d
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x50], r9
test rdx, rdx
je 0x1401c71c0
lea rcx, [rbp - 0x50]
call fcn.1401f73e0
xor r9d, r9d
inc edi
add rbx, 0x20
cmp edi, dword [rsi]
jl 0x1401c7190
mov r15, qword [rbp - 0x60]
mov r12, qword [rsp + 0x70]
mov r13, qword [rbp + 0xe0]
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x1401c7270
test r14, r14
je 0x1401c7233
mov rbx, qword [rbp + 0xe8]
lea rax, [0x14017eac0]
xorps xmm0, xmm0
mov qword [rbp - 0x30], r9
movdqu xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x50], r13
mov rdx, qword [rbx + 0x40]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x28], rbx
test rdx, rdx
je 0x1401c722b
lea rcx, [rbp - 0x50]
call fcn.1401f73e0
mov rcx, qword [rbp - 0x18]
xor r9d, r9d
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x58], rax
lea rax, [0x140163d30]
mov dword [rbp - 0x30], r9d
mov qword [rbp - 0x48], rax
mov rdx, rcx
lea rax, [0x1401e21b0]
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x40], rax
lea rcx, [rbp - 0x50]
lea rax, [0x1401e21a0]
mov qword [rbp - 0x38], rax
lea rax, [rbp + 0x18]
mov qword [rbp - 0x28], rax
call fcn.1401f73e0
mov rdi, qword [rbp + 0xe8]
mov eax, dword [r12 + 0x28]
mov dword [r12 + 0x2c], eax
cmp qword [rdi + 0x38], 0
jne 0x1401c739f
cmp qword [rdi + 0x40], 0
jne 0x1401c739f
cmp dword [r12 + 0x38], 1
jne 0x1401c739f
mov rax, qword [r12 + 0x30]
mov r9, qword [rax]
mov r11, qword [r9 + 0x20]
test r11, r11
je 0x1401c739f
cmp dword [r11], 1
jne 0x1401c739f
test dword [r9 + 4], 0x1000000
jne 0x1401c739f
mov rsi, qword [rsp + 0x40]
test dword [rsi + 0x5c], 0x10000
jne 0x1401c739f
mov r9, qword [r9 + 8]
lea r10, [0x14031e5a4]
mov rdx, r9
sub r10, r9
movzx eax, byte [rdx]
movzx r8d, byte [rdx + r10]
cmp eax, r8d
jne 0x1401c731d
test eax, eax
jne 0x1401c7339
mov rcx, qword [r11 + 8]
call fcn.1401a6b60
neg eax
mov byte [rbp + 0xf8], 1
sbb bl, bl
and bl, 2
jmp 0x1401c736a
lea rbx, [0x140000000]
movzx ecx, byte [rax + rbx + 0x3186e0]
movzx eax, byte [r8 + rbx + 0x3186e0]
cmp ecx, eax
jne 0x1401c733e
inc rdx
jmp 0x1401c72f3
lea r8, [0x14031e5a8]
sub r8, r9
nop dword [rax + rax]
movzx eax, byte [r9]
movzx edx, byte [r9 + r8]
cmp eax, edx
jne 0x1401c7386
test eax, eax
jne 0x1401c739a
mov bl, 1
mov byte [rbp + 0xf8], 2
xor r8d, r8d
mov rdx, r11
mov rcx, rsi
call fcn.1401ab6e0
mov qword [rbp + 0x58], rax
test rax, rax
je 0x1401c73a6
mov byte [rax + 0x18], bl
jmp 0x1401c73a6
movzx ecx, byte [rax + rbx + 0x3186e0]
movzx eax, byte [rdx + rbx + 0x3186e0]
cmp ecx, eax
jne 0x1401c739f
inc r9
jmp 0x1401c7350
mov byte [rbp + 0xf8], 0
mov edx, dword [r12 + 0x38]
xor r9d, r9d
mov dword [rsp + 0x7c], r9d
mov r13d, r9d
test edx, edx
jle 0x1401c74e4
mov r15, qword [rsp + 0x70]
mov r12d, r9d
nop word [rax + rax]
mov rax, qword [r15 + 0x30]
mov r14, qword [r12 + rax]
or dword [rbp + 0x40], 0x20000
mov qword [rbp - 0x10], r14
mov rsi, qword [r14 + 0x20]
test rsi, rsi
je 0x1401c7458
cmp dword [rsi], 0
lea rbx, [rsi + 8]
mov edi, r9d
jle 0x1401c7458
lea r15, [0x140163d30]
lea r14, [0x1401e21b0]
lea r13, [0x1401e21a0]
nop dword [rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x18]
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r13
mov dword [rbp - 0x30], r9d
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x50], r9
test rdx, rdx
je 0x1401c7440
lea rcx, [rbp - 0x50]
call fcn.1401f73e0
xor r9d, r9d
inc edi
add rbx, 0x20
cmp edi, dword [rsi]
jl 0x1401c7410
mov r14, qword [rbp - 0x10]
mov r13d, dword [rsp + 0x7c]
mov r15, qword [rsp + 0x70]
test dword [r14 + 4], 0x1000000
je 0x1401c74a9
mov rax, qword [r14 + 0x40]
mov dword [rbp - 0x30], r9d
mov qword [rbp - 0x50], r9
mov rdx, qword [rax + 0x48]
lea rax, [0x140163d30]
mov qword [rbp - 0x48], rax
lea rax, [0x1401e21b0]
mov qword [rbp - 0x40], rax
lea rax, [0x1401e21a0]
mov qword [rbp - 0x38], rax
lea rax, [rbp + 0x18]
mov qword [rbp - 0x28], rax
test rdx, rdx
je 0x1401c74a9
lea rcx, [rbp - 0x50]
call fcn.1401f73e0
and dword [rbp + 0x40], 0xfffdffff
inc r13d
mov edx, dword [r15 + 0x38]
add r12, 0x20
mov dword [rsp + 0x7c], r13d
mov r9d, 0
cmp r13d, edx
jl 0x1401c73d0
mov r15, qword [rbp - 0x60]
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rbp + 0xe8]
mov r13, qword [rbp + 0xe0]
mov rcx, qword [rsp + 0x40]
mov eax, dword [r13 + 0x38]
mov dword [r12 + 0x14], eax
cmp byte [rcx + 0x63], 0
jne 0x1401c8e90
test r14, r14
je 0x1401c8898
mov qword [rbp + 0x50], r9
mov rsi, r9
movzx ebx, r9w
cmp edx, 1
jne 0x1401c75e0
mov rax, qword [r12 + 0x30]
cmp dword [rax + 0x14], 0
jl 0x1401c75e0
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x1401c75e0
mov rdx, qword [rdx + 8]
test rdx, rdx
je 0x1401c755d
xor r9d, r9d
xor r8d, r8d
call fcn.140175fb0
mov rcx, qword [rsp + 0x40]
mov rbx, rax
jmp 0x1401c7560
mov rbx, r9
xor r8d, r8d
mov rdx, r14
call fcn.1401ab6e0
mov qword [rbp + 0x50], rax
mov rsi, rax
test rax, rax
jne 0x1401c758c
mov rcx, qword [r13]
mov rdx, rbx
call fcn.1401ab330
mov rsi, rax
mov qword [rbp + 0x50], rax
jmp 0x1401c75d2
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [rsi + 4], ecx
jge 0x1401c75af
mov rcx, qword [r13]
mov r8, rbx
mov rdx, rsi
call fcn.1401ab240
mov rsi, rax
mov qword [rbp + 0x50], rax
jmp 0x1401c75d2
movups xmm0, xmmword [0x14031a970]
shl rax, 5
movups xmm1, xmmword [0x14031a980]
mov dword [rsi], ecx
movups xmmword [rax + rsi + 8], xmm0
movups xmmword [rax + rsi + 0x18], xmm1
mov qword [rax + rsi + 8], rbx
mov rax, rsi
neg rax
sbb bx, bx
and bx, 0x500
mov eax, dword [r13 + 0x34]
xor r8d, r8d
mov dword [r12 + 4], eax
mov rdx, r14
inc dword [r13 + 0x34]
mov rcx, r13
mov r9d, dword [r12 + 0x28]
call fcn.1401b7860
movsxd r9, dword [r15 + 0x90]
mov r13, rax
mov edx, dword [r12 + 0xc]
mov r8d, dword [r12 + 4]
mov qword [rbp - 0x10], rax
mov dword [rbp - 0x60], r9d
cmp dword [r15 + 0x94], r9d
jg 0x1401c7641
xor eax, eax
mov r9d, edx
mov rcx, r15
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x72]
call fcn.14017e5d0
mov r9d, eax
mov dword [rbp - 0x60], eax
jmp 0x1401c7674
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], WSAStartup
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 0x1401c76a4
cmp qword [rcx + 0x2e0], 0
jne 0x1401c76ea
test r13, r13
je 0x1401c76ea
add dword [r13], 0xffffffff
jne 0x1401c76ea
mov rcx, qword [r13 + 0x10]
mov rdx, r13
call fcn.1401a2e60
jmp 0x1401c76ea
test r9d, r9d
jns 0x1401c76b2
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 0x1401c76dd
mov r9d, 0xfffffff7
mov r8, r13
mov rcx, r15
call fcn.1401efee0
jmp 0x1401c76ea
test r13, r13
je 0x1401c76ea
mov qword [rdx + 0x10], r13
mov byte [rdx + 1], 0xf7
mov r8, qword [rbp + 0xe0]
mov r9, qword [rsp + 0x60]
mov eax, dword [r8 + 0x38]
inc eax
mov dword [rbp - 0x1c], eax
lea edx, [rax + 1]
mov eax, dword [r8 + 0x44]
lea ecx, [rdx + 2]
mov dword [rbp - 0x80], edx
mov dword [r8 + 0x38], ecx
lea edi, [rcx + 1]
dec eax
mov dword [rbp + 0xf8], ecx
mov dword [rsp + 0x68], eax
lea r14d, [rax - 1]
mov dword [r8 + 0x44], r14d
add ecx, dword [r9]
mov dword [r8 + 0x38], ecx
mov dword [rsp + 0x7c], r14d
lea r12d, [rcx + 1]
add ecx, dword [r9]
mov dword [r8 + 0x38], ecx
movsxd rcx, dword [r15 + 0x90]
mov dword [rbp - 0x78], r12d
cmp dword [r15 + 0x94], ecx
jg 0x1401c7773
xor eax, eax
mov r9d, edx
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r15
lea edx, [rax + 0x45]
call fcn.14017e5d0
mov r9, qword [rsp + 0x60]
xor r8d, r8d
jmp 0x1401c77a1
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 0x1401c77d3
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, edi
mov rcx, r15
lea edx, [r8 + 0x48]
call fcn.14017e5d0
xor r8d, r8d
jmp 0x1401c77fd
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 0x1401c782e
mov dword [rsp + 0x20], r8d
mov r9d, r14d
mov r8d, dword [rbp + 0xf8]
mov edx, recv
mov rcx, r15
call fcn.14017e5d0
xor r8d, r8d
jmp 0x1401c7863
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], r14d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
cmp dword [rbp - 0x20], 0
mov ecx, 0x240
mov rdi, qword [rbp + 0xe0]
mov eax, 0x40
mov rdx, qword [rsp + 0x50]
cmovne ax, cx
mov dword [rsp + 0x30], r8d
or ax, bx
mov rbx, qword [rsp + 0x60]
mov rcx, rdi
mov r8, qword [rbp - 0x58]
mov r9, rbx
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], rsi
call fcn.1401e21c0
mov qword [rbp - 0x58], rax
mov rcx, rax
test rax, rax
jne 0x1401c78d4
mov rdi, qword [rsp + 0x40]
test rsi, rsi
je 0x1401c78c8
mov rdx, rsi
mov rcx, rdi
call fcn.140176890
mov r13, qword [rbp + 0xe0]
jmp 0x1401c8e2e
movzx eax, byte [rax + 0x43]
mov dword [rsp + 0x78], eax
movsx eax, byte [rcx + 0x41]
cmp eax, dword [rbx]
jne 0x1401c78f4
mov rdi, qword [rsp + 0x70]
xor r10d, r10d
mov r14d, r10d
jmp 0x1401c7c70
cmp byte [rsp + 0x48], 0
je 0x1401c790f
mov rax, qword [rbp + 0xe8]
lea r9, str.DISTINCT
test byte [rax + 4], 1
je 0x1401c7916
lea r9, str.GROUP_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, rdi
call fcn.1401db070
mov r14d, dword [rbx]
mov esi, r14d
mov rbx, qword [rsp + 0x70]
mov edx, r14d
mov dword [rsp + 0x50], 1
mov eax, dword [rbx + 0x28]
test eax, eax
jle 0x1401c7970
mov r8, qword [rbx + 0x20]
mov r9d, eax
add r8, 0x1a
nop
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 0x1401c7950
cmp esi, 1
jne 0x1401c7998
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x1401c7986
inc dword [rdi + 0x38]
mov r12d, dword [rdi + 0x38]
jmp 0x1401c79bd
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov r12d, dword [rdi + rax*4 + 0xd0]
jmp 0x1401c79bd
mov ecx, dword [rdi + 0x28]
mov r12d, dword [rdi + 0x2c]
cmp esi, ecx
jg 0x1401c79b1
lea eax, [rsi + r12]
sub ecx, esi
mov dword [rdi + 0x2c], eax
mov dword [rdi + 0x28], ecx
jmp 0x1401c79bd
mov eax, dword [rdi + 0x38]
lea r12d, [rax + 1]
add eax, esi
mov dword [rdi + 0x38], eax
mov rdx, qword [rsp + 0x60]
xor r9d, r9d
mov r8d, r12d
mov byte [rsp + 0x20], 0
mov rcx, rdi
call fcn.1401a6d30
xor r8d, r8d
mov edi, r8d
cmp dword [rbx + 0x28], r8d
jle 0x1401c7a32
mov r13, qword [rsp + 0x70]
mov ebx, r8d
nop dword [rax]
mov rdx, qword [r13 + 0x20]
add rdx, rbx
movsx eax, word [rdx + 0x1a]
cmp eax, r14d
jl 0x1401c7a1f
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.1401a71b0
inc r14d
inc edi
add rbx, 0x20
cmp edi, dword [r13 + 0x28]
jl 0x1401c79f0
mov r13, qword [rbp - 0x10]
xor r8d, r8d
mov r14, qword [rbp + 0xe0]
movzx eax, byte [r14 + 0x1f]
test al, al
jne 0x1401c7a4c
inc dword [r14 + 0x38]
mov ebx, dword [r14 + 0x38]
jmp 0x1401c7a5d
dec al
movzx eax, al
mov byte [r14 + 0x1f], al
mov ebx, dword [r14 + rax*4 + 0xd0]
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401c7a89
mov r9d, esi
mov dword [rsp + 0x20], ebx
mov r8d, r12d
mov edx, 0x5d
mov rcx, r15
call fcn.14017e5d0
xor r8d, r8d
jmp 0x1401c7ab7
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 + 0x70]
movsxd rcx, dword [r15 + 0x90]
mov edx, dword [rdi + 4]
cmp dword [r15 + 0x94], ecx
jg 0x1401c7ae9
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, r15
mov edx, 0x87
call fcn.14017e5d0
jmp 0x1401c7b17
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 0x1401c7b30
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x1401c7b30
mov dword [r14 + rax*4 + 0xd0], ebx
inc byte [r14 + 0x1f]
cmp esi, 1
jne 0x1401c7b51
test r12d, r12d
je 0x1401c7b5f
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x1401c7b5f
mov dword [r14 + rax*4 + 0xd0], r12d
inc byte [r14 + 0x1f]
jmp 0x1401c7b5f
cmp esi, dword [r14 + 0x28]
jle 0x1401c7b5f
mov dword [r14 + 0x28], esi
mov dword [r14 + 0x2c], r12d
mov rcx, qword [rbp - 0x58]
call fcn.1401e5ee0
mov edx, dword [r14 + 0x34]
mov dword [rdi + 8], edx
inc dword [r14 + 0x34]
movzx eax, byte [r14 + 0x1f]
mov dword [rbp - 0x68], edx
test al, al
jne 0x1401c7b89
inc dword [r14 + 0x38]
mov r8d, dword [r14 + 0x38]
jmp 0x1401c7b9a
dec al
movzx eax, al
mov byte [r14 + 0x1f], al
mov r8d, dword [r14 + rax*4 + 0xd0]
movsxd rcx, dword [r15 + 0x90]
mov dword [rbp - 0x6c], r8d
cmp dword [r15 + 0x94], ecx
jg 0x1401c7bca
mov r9d, r8d
mov dword [rsp + 0x20], esi
mov r8d, edx
mov rcx, r15
mov edx, 0x75
call fcn.14017e5d0
xor r10d, r10d
jmp 0x1401c7bfb
lea eax, [rcx + 1]
xor r10d, r10d
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], r10
movsxd rcx, dword [r15 + 0x90]
mov edx, dword [rdi + 4]
cmp dword [r15 + 0x94], ecx
jg 0x1401c7c2d
mov r9d, dword [rsp + 0x58]
mov r8d, edx
mov edx, 0x23
mov dword [rsp + 0x20], r10d
mov rcx, r15
call fcn.14017e5d0
xor r10d, r10d
jmp 0x1401c7c5f
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 + 0x58]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x23
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov r14d, dword [rsp + 0x50]
mov r12d, dword [rbp - 0x78]
mov rcx, qword [rbp - 0x58]
mov byte [rdi + 1], 1
cmp dword [rbp - 0x20], 0
je 0x1401c7cc7
mov rax, qword [rsp + 0x40]
test byte [rax + 0x5c], 4
jne 0x1401c7cc7
test r14d, r14d
jne 0x1401c7c8c
test byte [rcx + 0x44], 8
je 0x1401c7cc7
mov rcx, qword [r15]
mov qword [rbp + 0x60], r10
cmp byte [rcx + 0x63], 0
jne 0x1401c7cc7
movsxd rax, dword [rbp - 0x70]
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.14017b8b0
xor r10d, r10d
mov word [rbx], 0xb1
mov qword [rbx + 0x10], r10
movsxd rsi, dword [r15 + 0x90]
mov dword [rbp - 0x78], esi
test r14d, r14d
je 0x1401c7d3b
mov edx, dword [rdi + 4]
cmp dword [r15 + 0x94], esi
jg 0x1401c7d04
mov r8d, dword [rbp - 0x68]
mov rcx, r15
mov r9d, dword [rbp - 0x6c]
mov dword [rsp + 0x20], r8d
mov r8d, edx
mov edx, 0x81
call fcn.14017e5d0
xor r10d, r10d
jmp 0x1401c7d3b
mov r8d, dword [rbp - 0x6c]
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 - 0x68]
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], r10
mov rax, qword [rsp + 0x60]
mov ebx, r10d
mov edx, dword [rax]
test edx, edx
jle 0x1401c7df6
mov r13, qword [rsp + 0x70]
lea rdi, [rax + 8]
mov esi, dword [rbp - 0x68]
nop dword [rax]
lea r8d, [rbx + r12]
test r14d, r14d
je 0x1401c7dc3
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401c7d93
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, esi
mov edx, 0x5b
mov rcx, r15
call fcn.14017e5d0
jmp 0x1401c7dd7
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], r10
jmp 0x1401c7dda
mov rcx, qword [rbp + 0xe0]
mov byte [r13], 1
mov rdx, qword [rdi]
call fcn.1401a6cd0
xor r10d, r10d
mov rax, qword [rsp + 0x60]
inc ebx
add rdi, 0x20
mov edx, dword [rax]
cmp ebx, edx
jl 0x1401c7d60
mov esi, dword [rbp - 0x78]
mov r13, qword [rbp - 0x10]
test r13, r13
je 0x1401c7e01
inc dword [r13]
mov edx, dword [rax]
mov edi, dword [rbp + 0xf8]
movsxd r8, dword [r15 + 0x90]
inc edi
cmp dword [r15 + 0x94], r8d
jg 0x1401c7e35
mov dword [rsp + 0x20], edx
mov r9d, r12d
mov edx, 0x57
mov r8d, edi
mov rcx, r15
call fcn.14017e5d0
mov r8d, eax
jmp 0x1401c7e64
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x57
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [r15]
cmp byte [rax + 0x63], 0
je 0x1401c7e91
cmp qword [rax + 0x2e0], 0
jne 0x1401c7ed9
test r13, r13
je 0x1401c7ed9
add dword [r13], 0xffffffff
jne 0x1401c7ed9
mov rcx, qword [r13 + 0x10]
mov rdx, r13
call fcn.1401a2e60
jmp 0x1401c7ed9
test r8d, r8d
jns 0x1401c7ea0
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 0x1401c7ecc
mov r9d, 0xfffffff7
mov r8, r13
mov rcx, r15
call fcn.1401efee0
jmp 0x1401c7ed9
test r13, r13
je 0x1401c7ed9
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 0x1401c7f07
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, r15
lea edx, [r9 + 0x10]
call fcn.14017e5d0
xor r9d, r9d
jmp 0x1401c7f35
mov rax, qword [r15 + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [r15 + 0x90], edx
xor r9d, r9d
mov dword [rax + rcx*8], reloc.WS2_32.dll_recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rsp + 0x60]
mov edx, dword [rax]
mov rax, qword [rbp + 0xe0]
mov r10, qword [rax + 0x10]
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x1401c7f73
mov dword [rsp + 0x20], edx
mov r9d, edi
mov edx, 0x4c
mov r8d, r12d
mov rcx, r10
call fcn.14017e5d0
xor r9d, r9d
jmp 0x1401c7fa1
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8], 0x4c
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401c7fdb
mov r13d, dword [rbp - 0x80]
mov edx, recv
mov dword [rsp + 0x20], r9d
inc r13d
mov r9d, dword [rsp + 0x68]
mov r8d, r13d
mov rcx, r15
call fcn.14017e5d0
mov r8d, dword [rbp - 0x80]
xor r9d, r9d
jmp 0x1401c8016
mov r8d, dword [rbp - 0x80]
lea eax, [rcx + 1]
mov edx, dword [rsp + 0x68]
lea rcx, [rcx + rcx*2]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
lea r13d, [r8 + 1]
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], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401c8042
mov dword [rsp + 0x20], r9d
mov edx, 0x30
mov r9d, dword [rsp + 0x58]
mov rcx, r15
call fcn.14017e5d0
xor r9d, r9d
jmp 0x1401c8075
mov edx, dword [rsp + 0x58]
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], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401c80a2
mov dword [rsp + 0x20], r9d
lea r8d, [r13 + 1]
mov r9d, dword [rsp + 0x7c]
mov edx, recv
mov rcx, r15
call fcn.14017e5d0
jmp 0x1401c80d8
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
lea edx, [r13 + 1]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x7c]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], select
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov edx, dword [r15 + 0x90]
test ebx, ebx
jns 0x1401c80e6
lea ebx, [rdx - 1]
mov rax, qword [r15]
cmp byte [rax + 0x63], 0
je 0x1401c80f8
lea rax, [0x1403e1130]
jmp 0x1401c810a
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
mov r12, qword [rsp + 0x70]
mov ebx, dword [rbp - 0x1c]
mov r8, r12
mov r9d, dword [rsp + 0x78]
mov rcx, qword [rbp + 0xe0]
mov dword [rax + 8], edx
mov edx, ebx
call fcn.1401ede60
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401c8155
xor eax, eax
mov r9d, ebx
mov rcx, r15
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x45]
lea r8d, [rax + 1]
call fcn.14017e5d0
jmp 0x1401c8188
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 r14d, r14d
je 0x1401c81f4
movsxd rcx, dword [r15 + 0x90]
xor r14d, r14d
mov edx, dword [r12 + 4]
cmp dword [r15 + 0x94], ecx
jg 0x1401c81c1
mov r8d, edx
mov dword [rsp + 0x20], r14d
lea edx, [r14 + 3]
mov r9d, esi
mov rcx, r15
call fcn.14017e5d0
jmp 0x1401c845b
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], r14d
mov qword [rax + rcx*8 + 0x10], r14
jmp 0x1401c845b
mov rcx, qword [rbp - 0x58]
call fcn.1401e5ee0
mov r9, qword [r15]
cmp byte [r9 + 0x63], 0
jne 0x1401c8458
movsxd rax, dword [rbp - 0x60]
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov rbx, qword [rax + rcx*8 + 0x10]
lea rdi, [rax + rcx*8]
movsx eax, byte [rax + rcx*8 + 1]
add eax, 0x11
cmp eax, 0xa
ja case.0x1401c8248.10
lea rcx, [0x140000000]
cdqe
mov r8d, dword [rcx + rax*4 + 0x1c8eac]
add r8, rcx
jmp r8
mov rdx, rbx
mov rcx, r9
call fcn.14017b9e0
xor r14d, r14d
mov word [rdi], 0xb1
mov qword [rdi + 0x10], r14
jmp 0x1401c845b
test rbx, rbx
je case.0x1401c8248.10
test r9, r9
je 0x1401c82fe
cmp qword [r9 + 0x2e0], 0
je 0x1401c829f
mov rdx, rbx
mov rcx, r9
call fcn.140182360
xor r14d, r14d
mov word [rdi], 0xb1
mov qword [rdi + 0x10], r14
jmp 0x1401c845b
cmp rbx, qword [r9 + 0x1d0]
jae 0x1401c82fe
cmp rbx, qword [r9 + 0x1c0]
jb 0x1401c82d3
mov rax, qword [r9 + 0x1b8]
xor r14d, r14d
mov qword [rbx], rax
mov qword [r9 + 0x1b8], rbx
mov word [rdi], 0xb1
mov qword [rdi + 0x10], r14
jmp 0x1401c845b
cmp rbx, qword [r9 + 0x1c8]
jb 0x1401c82fe
mov rax, qword [r9 + 0x1a8]
xor r14d, r14d
mov qword [rbx], rax
mov qword [r9 + 0x1a8], rbx
mov word [rdi], 0xb1
mov qword [rdi + 0x10], r14
jmp 0x1401c845b
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1401c8363
mov rcx, qword [0x1403e0e40]
test rcx, rcx
je 0x1401c8319
call qword [0x1403cb550]
mov rcx, rbx
call qword [0x1403cb508]
dec qword [0x1403e0dd8]
movsxd rcx, eax
sub qword [0x1403e0d90], rcx
mov rcx, rbx
call qword [0x1403cb4f8]
mov rcx, qword [0x1403e0e40]
test rcx, rcx
je case.0x1401c8248.10
call qword [0x1403cb560]
xor r14d, r14d
mov word [rdi], 0xb1
mov qword [rdi + 0x10], r14
jmp 0x1401c845b
mov rcx, rbx
call qword [0x1403cb4f8]
xor r14d, r14d
mov word [rdi], 0xb1
mov qword [rdi + 0x10], r14
jmp 0x1401c845b
cmp qword [r9 + 0x2e0], 0
jne case.0x1401c8248.10
test rbx, rbx
je case.0x1401c8248.10
add dword [rbx], 0xffffffff
jne case.0x1401c8248.10
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
call fcn.1401a2e60
xor r14d, r14d
mov word [rdi], 0xb1
mov qword [rdi + 0x10], r14
jmp 0x1401c845b
test byte [rbx + 4], 0x10
je case.0x1401c8248.10
mov rdx, rbx
mov rcx, r9
call fcn.1401a2e60
xor r14d, r14d
mov word [rdi], 0xb1
mov qword [rdi + 0x10], r14
jmp 0x1401c845b
cmp qword [r9 + 0x2e0], 0
jne 0x1401c841f
test rbx, rbx
je case.0x1401c8248.10
mov eax, 0x2400
test word [rbx + 8], ax
jne 0x1401c83fd
cmp dword [rbx + 0x20], 0
je 0x1401c8405
mov rcx, rbx
call fcn.1401f1750
mov rcx, qword [rbx + 0x28]
mov rdx, rbx
call fcn.1401a2e60
xor r14d, r14d
mov word [rdi], 0xb1
mov qword [rdi + 0x10], r14
jmp 0x1401c845b
mov rdx, rbx
mov rcx, r9
call fcn.14017ba20
xor r14d, r14d
mov word [rdi], 0xb1
mov qword [rdi + 0x10], r14
jmp 0x1401c845b
cmp qword [r9 + 0x2e0], 0
jne case.0x1401c8248.10
mov rcx, rbx
call fcn.1401e0d50
xor r14d, r14d
mov word [rdi], 0xb1
mov qword [rdi + 0x10], r14
jmp 0x1401c845b
xor r14d, r14d
mov rdx, qword [rbp + 0x50]
test rdx, rdx
je 0x1401c846e
mov rcx, qword [rsp + 0x40]
call fcn.140176890
movsxd rcx, dword [r15 + 0x90]
mov edi, dword [rsp + 0x68]
cmp dword [r15 + 0x94], ecx
jg 0x1401c849c
mov r9d, edi
mov dword [rsp + 0x20], r14d
mov r8d, r13d
mov edx, recv
mov rcx, r15
call fcn.14017e5d0
jmp 0x1401c84cb
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], edi
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401c84f6
mov r9d, dword [rsp + 0x58]
xor r8d, r8d
mov rcx, r15
mov dword [rsp + 0x20], r14d
lea edx, [r8 + 0xb]
call fcn.14017e5d0
jmp 0x1401c8525
mov edx, dword [rsp + 0x58]
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], r14d
mov qword [rax + rcx*8 + 0x10], r14
movsxd rbx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ebx
jg 0x1401c8551
mov r9d, dword [rbp - 0x80]
mov edx, 0x45
mov rcx, r15
mov dword [rsp + 0x20], r14d
lea r8d, [rdx - 0x44]
call fcn.14017e5d0
jmp 0x1401c8586
mov edx, dword [rbp - 0x80]
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 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], r14d
mov qword [rax + rcx*8 + 0x10], r14
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401c85af
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov r8d, r13d
mov rcx, r15
lea edx, [r9 + 0x41]
call fcn.14017e5d0
jmp 0x1401c85de
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], r13d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r14
mov rcx, qword [r15 + 0x18]
not edi
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401c85f9
mov r8d, edi
mov rdx, r15
call fcn.14018f350
jmp 0x1401c860b
mov rcx, qword [rcx + 0x50]
mov eax, dword [r15 + 0x90]
movsxd r8, edi
mov dword [rcx + r8*4], eax
movsxd rax, dword [r15 + 0x90]
mov esi, dword [rbp - 0x1c]
lea r8d, [rax + 2]
lea edi, [rax + 1]
cmp dword [r15 + 0x94], eax
jg 0x1401c863f
mov r9d, r8d
mov dword [rsp + 0x20], r14d
mov r8d, esi
mov edx, 0x30
mov rcx, r15
call fcn.14017e5d0
jmp 0x1401c866b
lea rcx, [rax + rax*2]
mov dword [r15 + 0x90], edi
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], getprotobynumber
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401c8694
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov r8d, r13d
mov rcx, r15
lea edx, [r9 + 0x41]
call fcn.14017e5d0
jmp 0x1401c86c3
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], r13d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r14
mov r14, qword [rbp + 0xe0]
mov rdx, r12
mov rcx, r14
call fcn.140177860
mov rdx, qword [rbp - 0x18]
mov r9d, reloc.WS2_32.dll_recv
mov r8d, edi
mov rcx, r14
call fcn.1401aa740
mov rax, qword [rbp + 0xf0]
lea r9, [rbp + 0x60]
mov rdx, qword [rbp + 0xe8]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], ebx
mov rcx, r14
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
call fcn.1401932e0
movsxd rcx, dword [r15 + 0x90]
xor edi, edi
cmp dword [r15 + 0x94], ecx
jg 0x1401c8749
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r13d
lea edx, [rdi + 0x41]
mov rcx, r15
call fcn.14017e5d0
jmp 0x1401c8774
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], r13d
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [r15 + 0x18]
mov edx, dword [rsp + 0x7c]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401c8793
mov r8d, edx
mov rdx, r15
call fcn.14018f350
jmp 0x1401c87a5
mov rcx, qword [rcx + 0x50]
mov eax, dword [r15 + 0x90]
movsxd r8, edx
mov dword [rcx + r8*4], eax
mov r13, qword [rbp + 0xe0]
mov rdx, r12
mov rcx, r13
call fcn.14018f060
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x1401c87df
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, esi
mov rcx, r15
lea edx, [r8 + 0x45]
call fcn.14017e5d0
jmp 0x1401c8809
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], esi
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 0x1401c8835
mov r8d, dword [rbp + 0xf8]
xor r9d, r9d
mov rcx, r15
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x41]
call fcn.14017e5d0
jmp 0x1401c8869
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 + 0x78]
test ecx, ecx
je 0x1401c8888
mov rax, qword [r12 + 0x30]
mov edx, ecx
mov rcx, r13
mov r9d, dword [rax + 0x18]
mov r8d, dword [rax + 0x14]
call fcn.140177c80
mov ebx, dword [rsp + 0x58]
mov r12, qword [rbp + 0xe8]
jmp 0x1401c8d45
cmp qword [rdi + 0x30], 0
jne 0x1401c8b71
mov rax, qword [rdi + 0x20]
cmp dword [rax], 1
jne 0x1401c8b71
mov rsi, qword [rdi + 0x28]
cmp dword [rsi], 1
jne 0x1401c8b71
cmp qword [rsi + 0x30], 0
jne 0x1401c8b71
mov rsi, qword [rsi + 0x28]
mov r8, qword [rax + 8]
cmp dword [rsi + 0x54], 0
jne 0x1401c8b71
cmp byte [r8], 0xa7
jne 0x1401c8b71
test edx, edx
je 0x1401c8b71
mov rax, qword [r12 + 0x30]
mov rcx, qword [rax + 8]
mov eax, 0x100
test dword [rcx + 4], eax
je 0x1401c8b71
test dword [r8 + 4], 0x1000002
jne 0x1401c8b71
mov rdx, qword [rsi + 0x70]
mov edi, 0xffff8000
test rdx, rdx
je 0x1401c893e
mov rax, qword [r13]
mov edi, r9d
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x1401c893e
inc edi
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x1401c8933
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 0x1401c8986
bts eax, edi
mov dword [rcx + 0x74], eax
cmp edi, 1
jne 0x1401c898b
call fcn.1401b9f40
jmp 0x1401c89bd
cmp edi, 1
je 0x1401c89c4
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 0x1401c89c4
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.140181120
mov r10, qword [rbp + 0xe0]
test byte [rsi + 0x40], 0x80
je 0x1401c89e5
mov rbx, qword [rsi + 0x10]
test rbx, rbx
je 0x1401c89e5
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401c89e5
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401c89d3
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax + 0x28]
test byte [rax + 0x48], 1
jne 0x1401c8a2e
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1401c8a2e
nop
test byte [rax + 0x64], 4
jne 0x1401c8a25
movzx ecx, word [rax + 0x5c]
cmp cx, word [rsi + 0x4c]
jge 0x1401c8a25
cmp qword [rax + 0x48], 0
jne 0x1401c8a25
test rbx, rbx
je 0x1401c8a22
cmp cx, word [rbx + 0x5c]
jge 0x1401c8a25
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401c8a00
test rbx, rbx
je 0x1401c8a45
mov r12d, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r10
call fcn.1401b7920
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.1401d14b0
test r14, r14
je 0x1401c8acc
mov rax, qword [r15]
cmp byte [rax + 0x63], 0
je 0x1401c8a90
cmp qword [rax + 0x2e0], 0
jne 0x1401c8acc
add dword [r14], 0xffffffff
jne 0x1401c8acc
mov rcx, qword [r14 + 0x10]
mov rdx, r14
call fcn.1401a2e60
jmp 0x1401c8acc
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 0x1401c8ac4
mov r9d, 0xfffffff7
mov r8, r14
mov rcx, r15
call fcn.1401efee0
jmp 0x1401c8acc
mov qword [rdx + 0x10], r14
mov byte [rdx + 1], 0xf7
mov rax, qword [rsp + 0x70]
mov r8d, r13d
mov edx, 0x5e
mov rcx, r15
mov rax, qword [rax + 0x30]
mov r9d, dword [rax + 0x10]
call fcn.1401d12a0
mov r8d, r13d
mov edx, 0x76
mov rcx, r15
call fcn.1401d1230
mov r13, qword [rbp + 0xe0]
cmp byte [r13 + 0x113], 2
jne 0x1401c8cf6
test rbx, rbx
je 0x1401c8b2e
test byte [rsi + 0x40], 0x80
je 0x1401c8b22
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401c8b2e
mov rax, qword [rbx]
lea rcx, [0x140348ec3]
jmp 0x1401c8b3e
xor eax, eax
lea rcx, [0x140348ec3]
mov dword [rsp + 0x78], eax
mov rax, rcx
cmp dword [rsp + 0x78], 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.1401db070
jmp 0x1401c8cf6
cmp dword [r12 + 0x2c], 0
mov edi, r9d
mov rsi, r9
movzx ebx, r9w
je 0x1401c8bdb
mov r8d, r9d
mov r9d, edx
test edx, edx
jle 0x1401c8bba
mov rcx, qword [r12 + 0x30]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x1401c8bab
mov rax, qword [rcx + 8]
mov r9d, edx
test byte [rax + 4], 0x20
jne 0x1401c8bba
inc r8d
add rcx, 0x20
mov r9d, edx
cmp r8d, edx
jl 0x1401c8b92
cmp r8d, r9d
jne 0x1401c8c00
inc dword [r13 + 0x38]
xor r8d, r8d
mov edi, dword [r13 + 0x38]
mov rcx, r15
mov r9d, edi
lea edx, [r8 + 0x45]
call fcn.1401d12a0
jmp 0x1401c8c00
cmp edx, 1
jne 0x1401c8c00
mov rax, qword [r12 + 0x30]
cmp dword [rax + 0x14], 0
jl 0x1401c8c00
mov rax, qword [rax]
mov rsi, qword [rax + 0x20]
mov rax, rsi
neg rax
sbb bx, bx
and bx, 0x500
mov rdx, r12
mov rcx, r13
call fcn.14018f060
movzx r14d, byte [rbp + 0xf8]
xor ecx, ecx
mov r9, qword [rbp + 0x58]
movzx eax, r14w
mov r8, qword [rbp - 0x58]
or ax, bx
mov rdx, qword [rsp + 0x50]
mov dword [rsp + 0x30], ecx
mov rcx, r13
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], rsi
call fcn.1401e21c0
mov rbx, rax
test rax, rax
je 0x1401c8e29
movzx esi, byte [rax + 0x43]
mov r8, r12
mov r9d, esi
mov edx, edi
mov rcx, r13
call fcn.1401ede60
test esi, esi
je 0x1401c8c7a
mov rcx, qword [r12 + 0x30]
mov edx, esi
mov r9d, dword [rcx + 0x18]
mov r8d, dword [rcx + 0x14]
mov rcx, r13
call fcn.140177c80
test edi, edi
je 0x1401c8c92
mov edx, 0x45
mov r9d, edi
mov rcx, r15
lea r8d, [rdx - 0x44]
call fcn.1401d12a0
test r14b, r14b
je 0x1401c8ce3
test byte [rbx + 0x44], 4
je 0x1401c8ce3
cmp byte [rbx + 0x41], 0
je 0x1401c8ce3
movzx edx, byte [rbx + 0x40]
sub rdx, 1
js 0x1401c8cd8
lea rcx, [rdx + 9]
lea rcx, [rcx + rcx*2]
shl rcx, 5
add rcx, rbx
nop dword [rax]
mov rax, qword [rcx + 0x50]
test byte [rax + 0x28], 4
jne 0x1401c8d60
sub rcx, 0x60
sub rdx, 1
jns 0x1401c8cc0
mov edx, dword [rbx + 0x34]
mov rcx, r15
call fcn.1401db7c0
mov rcx, rbx
call fcn.1401e5ee0
mov rdx, r12
mov rcx, r13
call fcn.140177860
mov ebx, dword [rsp + 0x58]
xor edi, edi
mov rdx, qword [rbp - 0x18]
mov r8d, ebx
mov rcx, r13
mov qword [rbp + 0x60], rdi
lea r9d, [rdi + 0x10]
call fcn.1401aa740
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.1401932e0
mov rcx, qword [r15 + 0x18]
not ebx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401c8d68
mov r8d, ebx
mov rdx, r15
call fcn.14018f350
jmp 0x1401c8d79
mov edx, dword [rcx + 0x10]
jmp 0x1401c8cdb
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 + 0x5c], 3
jne 0x1401c8d9f
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r13
call fcn.1401db070
cmp qword [rbp + 0x60], 0
je 0x1401c8de8
cmp dword [rbp + 0x68], 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.1401db070
mov rax, qword [rbp]
lea r8, [rbp + 0x60]
mov rdx, r12
mov qword [rsp + 0x20], rbx
mov rcx, r13
mov r9d, dword [rax]
call fcn.14017c820
mov rcx, qword [r15 + 0x18]
mov edx, dword [rbp - 8]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401c8e06
mov r8d, edx
mov rdx, r15
call fcn.14018f350
jmp 0x1401c8e17
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 + 0x78], r12d
mov rdi, qword [rsp + 0x40]
movzx r8d, byte [rdi + 0x63]
add dword [r13 + 0x30], r8d
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x1401c8e4b
mov rdx, rax
mov rcx, rdi
call fcn.140176890
mov rcx, r13
call fcn.1401db1b0
mov eax, dword [rsp + 0x78]
jmp 0x1401c8e98
mov r8, qword [rbp + 0xf0]
mov rdx, rbx
mov rcx, r13
call fcn.140182b90
cmp qword [rbx + 0x58], 0
mov r10d, eax
jne 0x1401c8e7d
mov rcx, r13
call fcn.1401db1b0
mov eax, r10d
jmp 0x1401c8e98
mov r13, qword [rbp + 0xe0]
jmp 0x1401c8e29
mov rdi, r14
jmp 0x1401c8e2e
mov rdi, rcx
jmp 0x1401c8e2e
mov eax, r12d
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret