Function at 0x18012ab60
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 - 0xd8]
sub rsp, 0x1d8
mov rdi, rcx
mov r13d, 1
xor ecx, ecx
mov dword [rsp + 0x54], r13d
mov rbx, r8
mov qword [rsp + 0x60], rcx
mov r14, rdx
mov r12d, ecx
mov eax, dword [rdi + 0x208]
mov r15d, dword [rdi + 0x204]
mov rsi, qword [rdi]
mov dword [rdi + 0x204], eax
inc eax
mov dword [rsp + 0x6c], r15d
mov dword [rdi + 0x208], eax
mov qword [rbp - 0x78], rsi
test rdx, rdx
je 0x18012dc88
cmp byte [rsi + 0x55], cl
jne 0x18012dc88
cmp dword [rdi + 0x50], ecx
jne 0x18012dc88
mov qword [rsp + 0x20], rcx
lea edx, [rcx + 0x15]
mov rcx, rdi
xor r9d, r9d
xor r8d, r8d
call fcn.1800ee280
test eax, eax
jne 0x18012dc88
cmp byte [rbx], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
ja 0x18012ac37
mov rdx, qword [r14 + 0x40]
mov rcx, rsi
call fcn.1800ffe70
xor edx, edx
and dword [r14 + 0xc], 0xfffffffe
mov qword [r14 + 0x40], rdx
xor r8d, r8d
mov rdx, r14
mov rcx, rdi
call fcn.18012e510
xorps xmm0, xmm0
mov rax, qword [r14 + 0x40]
xorps xmm1, xmm1
mov r13, qword [r14 + 0x20]
movdqu xmmword [rbp + 0x70], xmm0
mov qword [rsp + 0x78], rax
movdqu xmmword [rbp + 0x80], xmm1
mov qword [rbp + 0x68], rax
mov qword [rbp - 0x80], r13
cmp dword [rdi + 0x50], r12d
jne 0x18012dc39
cmp byte [rsi + 0x55], r12b
jne 0x18012dc39
mov r12d, dword [r14 + 0xc]
mov rax, qword [r14]
movzx ecx, byte [rbx]
shr r12d, 3
and r12d, 1
cmp dword [rax], 1
mov dword [rsp + 0x70], r12d
jle 0x18012acc0
sub cl, 0xa
cmp cl, 1
ja 0x18012acc0
lea rdx, str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
mov rcx, rdi
call fcn.1800fb3f0
mov dword [rdi + 0x204], r15d
jmp 0x18012dc68
xor eax, eax
mov esi, eax
cmp qword [r14 + 0x48], rax
jne 0x18012ada1
mov r15, qword [rbp + 0x128]
mov r14d, eax
nop dword [rax + rax]
cmp esi, dword [r13]
jge 0x18012ad95
imul rax, r14, 0x78
mov rcx, qword [rax + r13 + 0x30]
test rcx, rcx
je 0x18012ad85
mov r9, qword [rax + r13 + 0x28]
mov rax, qword [rcx]
movsx r8d, word [r9 + 0x3e]
mov edx, dword [rax]
cmp r8d, edx
jne 0x18012adda
mov ebx, dword [rcx + 0xc]
mov r9d, r12d
shr ebx, 3
mov r8d, esi
and ebx, 1
mov rdx, r15
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.18008ad10
test eax, eax
je 0x18012ad56
test ebx, ebx
je 0x18012ad4a
or dword [r15 + 0xc], 8
mov r12d, 1
mov dword [rsp + 0x70], r12d
mov rdx, 0xffffffffffffffff
mov esi, edx
mov r14, rdx
mov rax, qword [rbp - 0x78]
mov r13, qword [r15 + 0x20]
mov qword [rbp - 0x80], r13
cmp byte [rax + 0x55], 0
jne 0x18012adf0
mov rbx, qword [rbp + 0x130]
cmp byte [rbx], 8
jbe 0x18012ad85
mov rdx, qword [r15 + 0x40]
mov qword [rsp + 0x78], rdx
mov qword [rbp + 0x68], rdx
inc esi
inc r14
cmp qword [r15 + 0x48], 0
je 0x18012ace0
mov r15d, dword [rsp + 0x6c]
mov r14, qword [rbp + 0x128]
mov rcx, rdi
call fcn.180118590
mov qword [rbp + 0x20], rax
mov rsi, rax
test rax, rax
je 0x18012dc2e
cmp qword [r14 + 0x48], 0
je 0x18012adff
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call fcn.1800d6890
mov dword [rdi + 0x204], r15d
jmp 0x18012dc8b
mov r9, qword [r9]
mov rcx, rdi
mov dword [rsp + 0x20], edx
lea rdx, str.expected__d_columns_for__s_but_got__d
call fcn.1800fb3f0
mov eax, dword [rsp + 0x6c]
mov dword [rdi + 0x204], eax
jmp 0x18012dc68
xor r11d, r11d
mov ebx, r11d
mov dword [rsp + 0x58], ebx
cmp dword [r13], r11d
jle 0x18012b452
mov r12d, r11d
nop word [rax + rax]
imul r15, r12, 0x78
add r15, r13
mov r13, qword [r15 + 0x30]
test r13, r13
je 0x18012b43b
mov edx, dword [r15 + 0x38]
test edx, edx
je 0x18012aea3
test byte [r15 + 0x48], 0x10
jne 0x18012b43b
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
mov r8d, dword [r15 + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012ae72
mov r9d, edx
mov dword [rsp + 0x20], r11d
mov edx, select
mov rcx, rsi
call fcn.1800cfb00
jmp 0x18012b438
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], select
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
jmp 0x18012b43b
mov rdx, qword [r14 + 0x28]
mov ecx, r11d
mov dword [rbp + 0x138], ecx
mov eax, r11d
test rdx, rdx
je 0x18012aec9
mov edx, dword [rdx + 0x28]
test edx, edx
jle 0x18012aec9
mov ecx, edx
mov dword [rbp + 0x138], edx
mov eax, edx
mov r8, qword [r14 + 0x38]
mov edx, eax
test r8, r8
je 0x18012aee9
mov r8d, dword [r8 + 0x28]
cmp r8d, eax
jle 0x18012aee9
mov ecx, r8d
mov edx, r8d
mov dword [rbp + 0x138], ecx
mov rax, qword [r14 + 0x58]
mov r8d, edx
test rax, rax
je 0x18012af07
mov eax, dword [rax + 0x28]
cmp eax, edx
jle 0x18012af07
mov ecx, eax
mov dword [rbp + 0x138], eax
mov r8d, eax
mov rax, qword [r14 + 0x60]
test rax, rax
je 0x18012af1f
mov eax, dword [rax + 0x28]
cmp eax, r8d
cmovg ecx, eax
mov dword [rbp + 0x138], ecx
mov r10, qword [r14]
test r10, r10
je 0x18012af5b
cmp dword [r10], 0
mov r8d, r11d
jle 0x18012af5b
mov rdx, r11
mov rax, qword [r10 + 8]
mov r9, qword [rdx + rax]
test r9, r9
je 0x18012af4f
cmp dword [r9 + 0x28], ecx
cmovg ecx, dword [r9 + 0x28]
mov dword [rbp + 0x138], ecx
inc r8d
add rdx, 0x28
cmp r8d, dword [r10]
jl 0x18012af33
mov r10, qword [r14 + 0x30]
test r10, r10
je 0x18012af98
cmp dword [r10], 0
mov r9d, r11d
jle 0x18012af98
mov rdx, r11
mov rax, qword [r10 + 8]
mov r8, qword [rdx + rax]
test r8, r8
je 0x18012af8c
cmp dword [r8 + 0x28], ecx
cmovg ecx, dword [r8 + 0x28]
mov dword [rbp + 0x138], ecx
inc r9d
add rdx, 0x28
cmp r9d, dword [r10]
jl 0x18012af70
mov r10, qword [r14 + 0x40]
test r10, r10
je 0x18012afd8
cmp dword [r10], 0
mov r9d, r11d
jle 0x18012afd8
mov rdx, r11
nop dword [rax]
mov rax, qword [r10 + 8]
mov r8, qword [rdx + rax]
test r8, r8
je 0x18012afcc
cmp dword [r8 + 0x28], ecx
cmovg ecx, dword [r8 + 0x28]
mov dword [rbp + 0x138], ecx
inc r9d
add rdx, 0x28
cmp r9d, dword [r10]
jl 0x18012afb0
mov rcx, qword [r14 + 0x48]
lea rdx, [rbp + 0x138]
call fcn.1800d0080
mov eax, dword [rbp + 0x138]
add dword [rdi + 0x200], eax
test byte [r15 + 0x44], 0x20
mov rbx, qword [rbp - 0x78]
jne 0x18012b012
mov r9d, dword [r15 + 0x50]
mov rdx, r13
mov r8, qword [r14 + 0x28]
mov rcx, rbx
call fcn.1800e1550
test r12, r12
jne 0x18012b14b
mov rax, qword [rbp - 0x80]
cmp dword [rax], 1
je 0x18012b031
test byte [rax + 0xbc], 0xa
je 0x18012b14b
test byte [r14 + 0xc], 2
jne 0x18012b14b
mov eax, 0x100
test word [rbx + 0x50], ax
jne 0x18012b14b
mov r14d, dword [rsi + 0x3c]
inc dword [rdi + 0x58]
mov edx, dword [rdi + 0x58]
mov dword [r15 + 0x3c], edx
mov rax, qword [rsi + 0x30]
lea ebx, [r14 + 1]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012b082
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0x10]
call fcn.1800cfb00
jmp 0x18012b0ae
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov dword [rax + rcx*8 + 8], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov word [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], ebx
mov eax, dword [r15 + 0x3c]
lea r8, [rbp - 0x48]
mov dword [r15 + 0x38], ebx
mov rdx, r13
mov dword [rbp - 0x44], eax
xor ebx, ebx
movzx eax, byte [rdi + 0x208]
mov rcx, rdi
mov byte [r15 + 0x4c], al
mov word [rbp - 0x48], select
mov qword [rbp - 0x40], rbx
call fcn.18012ab60
movzx eax, word [r13 + 0xa]
mov rcx, qword [r15 + 0x28]
mov word [rcx + 0x42], ax
mov rcx, rsi
mov eax, dword [rbp - 0x40]
mov edx, dword [r15 + 0x3c]
or dword [r15 + 0x48], 0x10
mov dword [r15 + 0x40], eax
call fcn.1801365b0
mov rax, qword [rsi + 0x30]
mov ecx, dword [rsi + 0x3c]
dec ecx
mov dword [rax + 0x6c], ecx
mov rax, qword [rsi]
mov edx, dword [rsi + 0x3c]
cmp byte [rax + 0x55], bl
je 0x18012b12a
lea rax, [0x1801eea88]
mov dword [rax + 8], edx
jmp 0x18012b2c4
lea eax, [rdx - 1]
test r14d, r14d
cmovns eax, r14d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x18012b2c4
inc dword [rdi + 0x58]
xor r8d, r8d
mov edx, dword [rdi + 0x58]
mov r14d, r8d
mov dword [r15 + 0x3c], edx
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ebx
jg 0x18012b180
mov r9d, edx
mov dword [rsp + 0x20], r8d
lea edx, [r8 + 0x16]
mov rcx, rsi
call fcn.1800cfb00
mov ebx, eax
jmp 0x18012b1ac
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], socket
mov byte [rax + rcx*8 + 3], r8b
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
test byte [r15 + 0x48], 8
lea eax, [rbx + 1]
mov dword [r15 + 0x38], eax
jne 0x18012b1c5
mov rcx, rdi
call fcn.1800f4040
mov r14d, eax
mov ecx, dword [r15 + 0x50]
lea r8, [rbp - 0x48]
mov dword [rbp - 0x44], ecx
xor eax, eax
movzx ecx, byte [rdi + 0x208]
mov rdx, r13
mov byte [r15 + 0x4c], cl
mov rcx, rdi
mov word [rbp - 0x48], recv
mov qword [rbp - 0x40], rax
call fcn.18012ab60
mov rcx, qword [r15 + 0x28]
movzx eax, word [r13 + 0xa]
mov word [rcx + 0x42], ax
test r14d, r14d
je 0x18012b240
mov rax, qword [rsi + 0x30]
mov ecx, dword [rsi + 0x3c]
dec ecx
mov dword [rax + 0x6c], ecx
mov rax, qword [rsi]
mov edx, dword [rsi + 0x3c]
cmp byte [rax + 0x55], 0
je 0x18012b225
lea rax, [0x1801eea88]
jmp 0x18012b23d
lea eax, [rdx - 1]
test r14d, r14d
cmovns eax, r14d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rax, qword [rsi + 0x30]
movsxd rdx, dword [rsi + 0x3c]
mov r8d, dword [r15 + 0x3c]
cmp dword [rax + 0x64], edx
jg 0x18012b26a
xor edx, edx
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov rcx, rsi
lea edx, [r9 + 0xf]
call fcn.1800cfb00
mov edx, eax
jmp 0x18012b295
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 4], r8d
xor r8d, r8d
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov word [rax + rcx*8], select
mov byte [rax + rcx*8 + 3], 0
test ebx, ebx
jns 0x18012b29e
mov ebx, dword [rsi + 0x3c]
dec ebx
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x18012b2b0
lea rax, [0x1801eea88]
jmp 0x18012b2bf
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
xor ebx, ebx
mov rax, qword [rbp - 0x78]
mov byte [rdi + 0x1f], 0
mov dword [rdi + 0x48], ebx
cmp byte [rax + 0x55], 0
jne 0x18012adf0
mov r14, qword [rbp + 0x128]
mov ecx, ebx
mov dword [rbp + 0x138], ebx
mov edx, ebx
mov rax, qword [r14 + 0x28]
test rax, rax
je 0x18012b304
mov eax, dword [rax + 0x28]
test eax, eax
jle 0x18012b304
mov ecx, eax
mov dword [rbp + 0x138], eax
mov edx, eax
mov r8, qword [r14 + 0x38]
mov eax, edx
test r8, r8
je 0x18012b324
mov r8d, dword [r8 + 0x28]
cmp r8d, edx
jle 0x18012b324
mov ecx, r8d
mov eax, r8d
mov dword [rbp + 0x138], ecx
mov rdx, qword [r14 + 0x58]
mov r8d, eax
test rdx, rdx
je 0x18012b342
mov edx, dword [rdx + 0x28]
cmp edx, eax
jle 0x18012b342
mov ecx, edx
mov dword [rbp + 0x138], edx
mov r8d, edx
mov rax, qword [r14 + 0x60]
test rax, rax
je 0x18012b35a
mov eax, dword [rax + 0x28]
cmp eax, r8d
cmovg ecx, eax
mov dword [rbp + 0x138], ecx
mov r10, qword [r14]
test r10, r10
je 0x18012b398
cmp dword [r10], 0
mov r8d, ebx
jle 0x18012b398
mov rdx, rbx
nop
mov rax, qword [r10 + 8]
mov r9, qword [rdx + rax]
test r9, r9
je 0x18012b38c
cmp dword [r9 + 0x28], ecx
cmovg ecx, dword [r9 + 0x28]
mov dword [rbp + 0x138], ecx
inc r8d
add rdx, 0x28
cmp r8d, dword [r10]
jl 0x18012b370
mov r10, qword [r14 + 0x30]
test r10, r10
je 0x18012b3d8
cmp dword [r10], 0
mov r8d, ebx
jle 0x18012b3d8
mov rdx, rbx
nop dword [rax]
mov rax, qword [r10 + 8]
mov r9, qword [rdx + rax]
test r9, r9
je 0x18012b3cc
cmp dword [r9 + 0x28], ecx
cmovg ecx, dword [r9 + 0x28]
mov dword [rbp + 0x138], ecx
inc r8d
add rdx, 0x28
cmp r8d, dword [r10]
jl 0x18012b3b0
mov r10, qword [r14 + 0x40]
test r10, r10
je 0x18012b418
cmp dword [r10], 0
mov r8d, ebx
jle 0x18012b418
mov rdx, rbx
nop dword [rax]
mov rax, qword [r10 + 8]
mov r9, qword [rdx + rax]
test r9, r9
je 0x18012b40c
cmp dword [r9 + 0x28], ecx
cmovg ecx, dword [r9 + 0x28]
mov dword [rbp + 0x138], ecx
inc r8d
add rdx, 0x28
cmp r8d, dword [r10]
jl 0x18012b3f0
mov rcx, qword [r14 + 0x48]
lea rdx, [rbp + 0x138]
call fcn.1800d0080
mov edx, dword [rbp + 0x138]
sub dword [rdi + 0x200], edx
mov ebx, dword [rsp + 0x58]
xor r11d, r11d
mov r13, qword [rbp - 0x80]
inc ebx
inc r12
mov dword [rsp + 0x58], ebx
cmp ebx, dword [r13]
jl 0x18012ae20
mov rax, qword [r14 + 0x30]
mov ecx, dword [r14 + 0xc]
movzx r15d, byte [r14 + 0xc]
mov rdx, qword [r14]
and r15b, 1
mov r13, qword [r14 + 0x28]
mov r10, qword [rsp + 0x78]
mov qword [rbp - 0x60], rax
mov rax, qword [r14 + 0x38]
mov qword [rbp + 0x30], rax
mov eax, ecx
and al, 9
mov qword [rsp + 0x60], rdx
mov qword [rbp - 0x50], r13
mov byte [rbp + 0x138], r15b
movzx r12d, r15b
mov byte [rbp - 0x48], r15b
cmp al, 1
jne 0x18012b549
test r10, r10
jne 0x18012b4af
test rdx, rdx
jne 0x18012b549
jmp 0x18012b524
test rdx, rdx
je 0x18012b549
mov eax, dword [r10]
cmp eax, dword [rdx]
jne 0x18012b549
mov r14d, r11d
test eax, eax
jle 0x18012b51d
mov rbx, r11
nop dword [rax]
mov rdx, qword [rdx + 8]
mov rcx, qword [r10 + 8]
movzx eax, byte [rdx + rbx + 0x18]
cmp byte [rcx + rbx + 0x18], al
jne 0x18012b544
mov rdx, qword [rdx + rbx]
mov r8d, 0xffffffff
mov rcx, qword [rcx + rbx]
call fcn.1800fef70
mov r10, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x60]
test eax, eax
jne 0x18012b549
inc r14d
add rbx, 0x28
cmp r14d, dword [r10]
jl 0x18012b4d0
mov r14, qword [rbp + 0x128]
mov ecx, dword [r14 + 0xc]
jmp 0x18012b524
mov r14, qword [rbp + 0x128]
and ecx, 0xfffffffe
xor r8d, r8d
mov dword [r14 + 0xc], ecx
mov rcx, qword [rbp - 0x78]
call fcn.1801001d0
mov r10, qword [rsp + 0x78]
mov qword [rbp - 0x60], rax
mov qword [r14 + 0x30], rax
mov rdx, qword [rsp + 0x60]
test r10, r10
je 0x18012b64a
mov r9d, dword [rdx]
xor r8d, r8d
mov rdx, r10
mov rcx, rdi
call fcn.1800d4420
mov r8d, dword [rdi + 0x54]
mov rbx, rax
mov rax, qword [rsp + 0x60]
mov dword [rbp + 0x74], r8d
lea ecx, [r8 + 1]
mov dword [rdi + 0x54], ecx
mov edx, dword [rax]
movsxd r14, dword [rsi + 0x3c]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsi + 0x30]
mov dword [rbp - 0x6c], r14d
mov r9d, dword [rax]
inc r9d
add r9d, edx
xor edx, edx
cmp dword [rcx + 0x64], r14d
jg 0x18012b5b7
mov dword [rsp + 0x20], edx
mov rcx, rsi
mov edx, 0x39
call fcn.1800cfb00
mov r14d, eax
mov dword [rbp - 0x6c], eax
jmp 0x18012b5e4
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x39
mov byte [rax + rcx*8 + 3], 0
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 [rsi]
mov eax, r14d
cmp byte [rcx + 0x55], 0
je 0x18012b609
test rbx, rbx
je 0x18012b654
cmp qword [rcx + 0x290], 0
jne 0x18012b654
mov rcx, rbx
call fcn.18011c410
jmp 0x18012b654
test r14d, r14d
jns 0x18012b613
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x18012b63b
mov r9d, 0xfffffffa
mov r8, rbx
mov rcx, rsi
call fcn.18014e490
jmp 0x18012b654
test rbx, rbx
je 0x18012b654
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xfa
jmp 0x18012b654
mov r14d, 0xffffffff
mov dword [rbp - 0x6c], r14d
mov rcx, qword [rbp + 0x130]
mov dword [rbp + 0x80], r14d
cmp byte [rcx], 0xc
jne 0x18012b680
mov rax, qword [rsp + 0x60]
mov edx, 0x39
mov r8d, dword [rcx + 4]
mov rcx, rsi
mov r9d, dword [rax]
call fcn.180135530
mov rcx, rsi
call fcn.18013f640
mov rbx, qword [rbp + 0x128]
mov ecx, 0x140
mov r8d, eax
mov dword [rbp + 0x28], eax
mov rdx, rbx
mov word [rbx + 0xa], cx
mov rcx, rdi
call fcn.18007fd10
cmp dword [rbx + 0x10], 0
jne 0x18012b6df
test r14d, r14d
js 0x18012b6df
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
je 0x18012b6c6
lea rax, [0x1801eea88]
jmp 0x18012b6d5
movsxd rax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rax, [rax + rcx*8]
or byte [rbp + 0x88], 1
mov byte [rax], 0x3a
test byte [rbx + 0xc], 1
je 0x18012b7f0
mov r15d, dword [rdi + 0x54]
xor r9d, r9d
xor r8d, r8d
mov dword [rbp - 0x44], r15d
mov rcx, rdi
lea eax, [r15 + 1]
mov dword [rdi + 0x54], eax
mov rdx, qword [rbx]
call fcn.1800d4420
mov rcx, qword [rsi + 0x30]
mov r14, rax
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rcx + 0x64], ebx
jg 0x18012b734
xor eax, eax
xor r9d, r9d
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x39]
call fcn.1800cfb00
mov ebx, eax
jmp 0x18012b75e
lea rcx, [rbx + rbx*2]
xor edx, edx
lea eax, [rbx + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x39
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [rsi]
mov eax, ebx
cmp byte [rcx + 0x55], 0
je 0x18012b782
test r14, r14
je 0x18012b7c0
cmp qword [rcx + 0x290], 0
jne 0x18012b7c0
mov rcx, r14
call fcn.18011c410
jmp 0x18012b7c0
test ebx, ebx
jns 0x18012b78b
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x18012b7b3
mov r9d, 0xfffffffa
mov r8, r14
mov rcx, rsi
call fcn.18014e490
jmp 0x18012b7c0
test r14, r14
je 0x18012b7c0
mov qword [rdx + 0x10], r14
mov byte [rdx + 1], 0xfa
mov rax, qword [rsi]
mov dword [rbp - 0x40], ebx
cmp byte [rax + 0x55], 0
jne 0x18012b7dd
movsxd rax, dword [rsi + 0x3c]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov byte [rax + rcx*8 - 0x15], 8
movzx r15d, byte [rbp + 0x138]
mov al, 3
mov rbx, qword [rbp + 0x128]
jmp 0x18012b7f2
xor al, al
cmp dword [rsp + 0x70], 0
mov byte [rbp - 0x47], al
mov dword [rbp - 0x68], eax
jne 0x18012b919
cmp qword [rbp - 0x60], 0
jne 0x18012b919
movzx eax, word [rbx + 0xc]
mov ecx, 0x400
mov r14, qword [rsp + 0x78]
mov edx, r12d
imul edx, ecx
mov r9, r14
mov ecx, 0x4000
mov r8, r13
and ax, cx
mov rcx, rdi
or dx, ax
movsx eax, word [rbx + 0xa]
mov dword [rsp + 0x30], eax
mov rax, qword [rbx]
mov word [rsp + 0x28], dx
mov rdx, qword [rbp - 0x80]
mov qword [rsp + 0x20], rax
call fcn.180144d20
mov rbx, rax
test rax, rax
je 0x18012dc2e
mov r13, qword [rbp + 0x128]
movzx eax, word [rax + 0x30]
cmp ax, word [r13 + 0xa]
jge 0x18012b877
mov word [r13 + 0xa], ax
test r15b, r15b
je 0x18012b891
movzx ecx, byte [rbx + 0x3a]
mov eax, dword [rbp - 0x68]
test cl, cl
movzx eax, al
cmovne eax, ecx
mov dword [rbp - 0x68], eax
mov byte [rbp - 0x47], al
test r14, r14
je 0x18012b8ad
movsx eax, byte [rbx + 0x36]
cmp eax, dword [r14]
mov dword [rbp + 0x70], eax
mov eax, 0
cmove r14, rax
mov qword [rbp + 0x68], r14
mov eax, dword [rbp - 0x6c]
test eax, eax
js 0x18012b8c3
test r14, r14
jne 0x18012b8c3
mov edx, eax
mov rcx, rsi
call fcn.180135b10
mov eax, dword [rbx + 0x44]
mov r14, 0xffffffffffffffff
mov r15, qword [rbp + 0x130]
mov r9d, r14d
mov r12, qword [rsp + 0x60]
mov rdx, r13
mov dword [rsp + 0x40], eax
mov r8, r12
mov eax, dword [rbx + 0x40]
mov rcx, rdi
mov dword [rsp + 0x38], eax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.1800e8df0
mov rcx, rbx
call fcn.180147f30
jmp 0x18012db9b
mov r15, qword [rbp - 0x60]
xor r8d, r8d
mov dword [rsp + 0x58], r8d
mov r12d, r8d
test r15, r15
je 0x18012b9e8
mov rax, qword [rbx]
mov ecx, dword [rax]
mov rdx, qword [rax + 8]
test ecx, ecx
jle 0x18012b950
lea rax, [rdx + 0x22]
dec ecx
mov word [rax], r8w
lea rax, [rax + 0x28]
test ecx, ecx
jg 0x18012b942
mov eax, dword [r15]
mov rcx, qword [r15 + 8]
test eax, eax
jle 0x18012b96e
add rcx, 0x22
nop
dec eax
mov word [rcx], r8w
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x18012b960
cmp word [rbx + 0xa], 0x42
jle 0x18012b97e
mov eax, 0x42
mov word [rbx + 0xa], ax
mov r13, qword [rsp + 0x78]
test r13, r13
je 0x18012b9ff
mov eax, dword [r15]
cmp eax, dword [r13]
jne 0x18012b9ff
mov r14d, r8d
test eax, eax
jle 0x18012b9d6
mov rbx, r8
nop dword [rax + rax]
mov rdx, qword [r13 + 8]
mov rcx, qword [r15 + 8]
movzx eax, byte [rdx + rbx + 0x18]
cmp byte [rcx + rbx + 0x18], al
jne 0x18012b9e0
mov rdx, qword [rdx + rbx]
mov r8d, 0xffffffff
mov rcx, qword [rcx + rbx]
call fcn.1800fef70
test eax, eax
jne 0x18012b9e0
inc r14d
add rbx, 0x28
cmp r14d, dword [r15]
jl 0x18012b9a0
mov dword [rsp + 0x68], 1
jmp 0x18012ba04
xor eax, eax
mov dword [rsp + 0x68], eax
jmp 0x18012ba04
mov r13, qword [rsp + 0x78]
mov word [rbx + 0xa], r8w
mov dword [rsp + 0x68], 1
test r13, r13
je 0x18012ba04
mov dword [rsp + 0x68], r8d
mov rcx, rsi
call fcn.18013f640
mov ecx, dword [rdi + 0x58]
xor r8d, r8d
mov dword [rsp + 0x50], eax
inc ecx
mov rax, qword [rbp - 0x80]
xorps xmm0, xmm0
mov qword [rbp + 0x98], rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xa0], r8
mov qword [rbp + 0xc0], r8
mov qword [rbp + 0x90], rdi
mov dword [rbp - 0x10], ecx
movdqu xmmword [rbp + 0xb0], xmm0
test r15, r15
je 0x18012ba5e
mov eax, dword [r15]
mov dword [rbp - 0x14], eax
jmp 0x18012ba62
mov dword [rbp - 0x14], r8d
mov rax, qword [rsp + 0x60]
lea rcx, [0x180075dc0]
mov qword [rbp - 8], r15
lea r9, [method.std::_Ref_count_class_HttpParser_.virtual_24]
test rax, rax
je 0x18012bae8
mov r14d, r8d
mov rbx, qword [rax + 8]
cmp dword [rax], r8d
jle 0x18012bae8
lea r12, [0x180075dc0]
mov rdx, qword [rbx]
lea rcx, [rbp + 0x90]
mov qword [rbp + 0x38], r8
xorps xmm0, xmm0
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], r9
mov qword [rbp + 0x60], rcx
movdqu xmmword [rbp + 0x50], xmm0
test rdx, rdx
je 0x18012bad0
lea rcx, [rbp + 0x38]
call fcn.180155380
mov rax, qword [rsp + 0x60]
lea r9, [method.std::_Ref_count_class_HttpParser_.virtual_24]
xor r8d, r8d
inc r14d
add rbx, 0x28
cmp r14d, dword [rax]
jl 0x18012ba91
mov r12d, dword [rsp + 0x58]
lea rcx, [0x180075dc0]
test r13, r13
je 0x18012bb4e
cmp dword [r13], 0
mov r14d, r8d
mov rbx, qword [r13 + 8]
jle 0x18012bb4e
nop dword [rax + rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x90]
mov qword [rbp + 0x38], r8
xorps xmm0, xmm0
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], r9
mov qword [rbp + 0x60], rax
movdqu xmmword [rbp + 0x50], xmm0
test rdx, rdx
je 0x18012bb41
lea rcx, [rbp + 0x38]
call fcn.180155380
xor r8d, r8d
lea rcx, [0x180075dc0]
lea r9, [method.std::_Ref_count_class_HttpParser_.virtual_24]
inc r14d
add rbx, 0x28
cmp r14d, dword [r13]
jl 0x18012bb00
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x18012bb82
mov qword [rbp + 0x40], rcx
xorps xmm0, xmm0
lea rcx, [rbp + 0x90]
mov qword [rbp + 0x38], r8
mov qword [rbp + 0x60], rcx
mov rdx, rax
lea rcx, [rbp + 0x38]
mov qword [rbp + 0x48], r9
movdqu xmmword [rbp + 0x50], xmm0
call fcn.180155380
mov r8d, dword [rbp + 0x18]
xor r11d, r11d
mov r9d, dword [rbp + 8]
mov r13d, r11d
mov rdx, qword [rbp + 0x10]
mov dword [rbp + 0xc], r9d
test r8d, r8d
jle 0x18012bc75
movzx ecx, word [rbp + 0xc0]
lea rsi, [0x180075dc0]
mov r12d, r11d
lea rdi, [method.std::_Ref_count_class_HttpParser_.virtual_24]
nop dword [rax]
or cx, 8
mov word [rbp + 0xc0], cx
mov rax, qword [rdx + r12]
mov r15, qword [rax + 0x20]
test r15, r15
je 0x18012bc3e
cmp dword [r15], 0
mov r14d, r11d
mov rbx, qword [r15 + 8]
jle 0x18012bc3e
nop word [rax + rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x90]
mov qword [rbp + 0x38], r11
xorps xmm0, xmm0
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x60], rax
movdqu xmmword [rbp + 0x50], xmm0
test rdx, rdx
je 0x18012bc23
lea rcx, [rbp + 0x38]
call fcn.180155380
xor r11d, r11d
inc r14d
add rbx, 0x28
cmp r14d, dword [r15]
jl 0x18012bbf0
mov r8d, dword [rbp + 0x18]
mov rdx, qword [rbp + 0x10]
movzx ecx, word [rbp + 0xc0]
mov eax, 0xfff7
inc r13d
and cx, ax
add r12, 0x18
mov word [rbp + 0xc0], cx
cmp r13d, r8d
jl 0x18012bbc0
mov r9d, dword [rbp + 8]
mov rdi, qword [rbp + 0x120]
mov rsi, qword [rbp + 0x20]
mov r12d, dword [rsp + 0x58]
mov r15, qword [rbp - 0x60]
mov eax, dword [rdi + 0x58]
mov dword [rbp - 0xc], eax
mov rax, qword [rbp - 0x78]
cmp byte [rax + 0x55], 0
jne 0x18012dc2e
test r15, r15
je 0x18012d5a3
mov eax, dword [rdi + 0x54]
xor r8d, r8d
mov dword [rbp - 0x1c], eax
mov rdx, r15
inc eax
mov rcx, rdi
mov dword [rdi + 0x54], eax
call fcn.1800d4420
movsxd r9, dword [rsi + 0x3c]
mov rbx, rax
mov rcx, qword [rsi + 0x30]
mov edx, dword [rbp - 0x14]
mov r8d, dword [rbp - 0x1c]
mov qword [rbp + 0x20], rax
mov dword [rsp + 0x78], r9d
cmp dword [rcx + 0x64], r9d
jg 0x18012bce9
xor eax, eax
mov r9d, edx
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x3a]
call fcn.1800cfb00
mov r9d, eax
mov dword [rsp + 0x78], eax
jmp 0x18012bd17
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov word [rax + rcx*8], 0x3a
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov rcx, qword [rsi]
mov eax, r9d
cmp byte [rcx + 0x55], 0
je 0x18012bd3c
test rbx, rbx
je 0x18012bd7b
cmp qword [rcx + 0x290], 0
jne 0x18012bd7b
mov rcx, rbx
call fcn.18011c410
jmp 0x18012bd7b
test r9d, r9d
jns 0x18012bd46
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x18012bd6e
mov r9d, 0xfffffffa
mov r8, rbx
mov rcx, rsi
call fcn.18014e490
jmp 0x18012bd7b
test rbx, rbx
je 0x18012bd7b
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xfa
mov r13d, dword [rdi + 0x58]
mov rcx, rsi
inc r13d
mov dword [rsp + 0x70], r13d
lea r14d, [r13 + 1]
lea eax, [r14 + 1]
mov dword [rsp + 0x58], r14d
mov dword [rdi + 0x58], eax
call fcn.18013f640
inc dword [rdi + 0x58]
mov rcx, rsi
mov dword [rbp - 0x28], eax
mov eax, dword [rdi + 0x58]
mov dword [rbp + 0x120], eax
call fcn.18013f640
mov edx, dword [rdi + 0x58]
mov r8d, dword [r15]
add r8d, edx
mov dword [rbp - 0x70], eax
mov dword [rdi + 0x58], r8d
lea ebx, [rdx + 1]
mov edx, dword [r15]
add edx, r8d
mov dword [rbp - 0x2c], ebx
mov dword [rdi + 0x58], edx
lea ecx, [r8 + 1]
movsxd rdx, dword [rsi + 0x3c]
mov dword [rbp - 0x30], ecx
mov rcx, qword [rsi + 0x30]
cmp dword [rcx + 0x64], edx
jg 0x18012be05
xor eax, eax
mov r9d, r14d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x16]
call fcn.1800cfb00
xor r14d, r14d
jmp 0x18012be36
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor edx, edx
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 8], r14d
xor r14d, r14d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov word [rax + rcx*8], socket
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012be5c
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov r9d, r13d
mov rcx, rsi
lea edx, [r8 + 0x16]
call fcn.1800cfb00
jmp 0x18012be89
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], socket
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov edx, dword [r15]
mov rax, qword [rsi + 0x30]
dec edx
movsxd rcx, dword [rsi + 0x3c]
add edx, ebx
cmp dword [rax + 0x64], ecx
jg 0x18012beb5
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov rcx, rsi
lea edx, [r8 + 0x19]
call fcn.1800cfb00
jmp 0x18012bee0
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x19
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012bf0c
mov r9d, dword [rbp - 0x70]
mov edx, select
mov r8d, dword [rbp + 0x120]
mov rcx, rsi
mov dword [rsp + 0x20], r14d
call fcn.1800cfb00
jmp 0x18012bf40
mov edx, dword [rbp + 0x120]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x70]
mov dword [rax + rcx*8 + 8], edx
mov word [rax + rcx*8], select
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
cmp dword [rsp + 0x68], 0
mov ecx, 0x900
mov rbx, qword [rbp - 0x80]
mov eax, 0x100
mov r8, qword [rbp - 0x50]
cmovne ax, cx
mov dword [rsp + 0x30], r14d
mov r9, r15
mov word [rsp + 0x28], ax
mov rdx, rbx
mov rcx, rdi
mov qword [rsp + 0x20], r14
call fcn.180144d20
mov qword [rbp - 0x50], rax
test rax, rax
je 0x18012dc27
movsx ecx, byte [rax + 0x36]
cmp ecx, dword [r15]
jne 0x18012bfa3
xor r9d, r9d
mov r14d, r9d
mov dword [rbp + 0x138], r9d
mov r13d, r9d
jmp 0x18012c8a4
cmp byte [rbp + 0x138], 0
je 0x18012bfc1
mov r9, qword [rbp + 0x128]
lea rdx, str.DISTINCT
test byte [r9 + 0xc], 1
je 0x18012bfc8
lea rdx, str.GROUP_BY
mov rcx, rdi
call fcn.180084580
mov r15d, dword [r15]
mov r10d, r15d
mov ecx, dword [rbp + 8]
mov edx, r15d
mov dword [rbp + 0x138], 1
mov dword [rsp + 0x54], r15d
test ecx, ecx
jle 0x18012c025
mov r8, qword [rbp]
mov r9d, ecx
add r8, 0x10
nop word [rax + rax]
cmp dword [r8], edx
lea eax, [r10 + 1]
lea r8, [r8 + 0x20]
cmovl eax, r10d
mov r10d, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x18012c000
mov dword [rsp + 0x54], r10d
mov ecx, dword [rdi + 0x48]
mov r12d, dword [rdi + 0x4c]
cmp r10d, ecx
jg 0x18012c040
lea eax, [r10 + r12]
sub ecx, r10d
mov dword [rdi + 0x4c], eax
mov dword [rdi + 0x48], ecx
jmp 0x18012c04d
mov eax, dword [rdi + 0x58]
lea r12d, [rax + 1]
add eax, r10d
mov dword [rdi + 0x58], eax
mov ecx, dword [rdi + 0x9c]
lea r13, [rdi + 0x90]
test ecx, ecx
je 0x18012c084
cmp byte [rdi + 0x96], 0
je 0x18012c07d
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c076
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x96], 0
mov dword [rdi + 0x9c], r14d
mov ecx, dword [rdi + 0xb0]
test ecx, ecx
je 0x18012c0b4
cmp byte [rdi + 0xaa], 0
je 0x18012c0ad
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c0a6
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xaa], 0
mov dword [rdi + 0xb0], r14d
mov ecx, dword [rdi + 0xc4]
test ecx, ecx
je 0x18012c0e4
cmp byte [rdi + 0xbe], 0
je 0x18012c0dd
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c0d6
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xbe], 0
mov dword [rdi + 0xc4], r14d
mov ecx, dword [rdi + 0xd8]
test ecx, ecx
je 0x18012c114
cmp byte [rdi + 0xd2], 0
je 0x18012c10d
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c106
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xd2], 0
mov dword [rdi + 0xd8], r14d
mov ecx, dword [rdi + 0xec]
test ecx, ecx
je 0x18012c144
cmp byte [rdi + 0xe6], 0
je 0x18012c13d
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c136
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xe6], 0
mov dword [rdi + 0xec], r14d
mov ecx, dword [rdi + 0x100]
test ecx, ecx
je 0x18012c174
cmp byte [rdi + 0xfa], 0
je 0x18012c16d
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c166
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xfa], 0
mov dword [rdi + 0x100], r14d
mov ecx, dword [rdi + 0x114]
test ecx, ecx
je 0x18012c1a4
cmp byte [rdi + 0x10e], 0
je 0x18012c19d
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c196
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x10e], 0
mov dword [rdi + 0x114], r14d
mov ecx, dword [rdi + 0x128]
test ecx, ecx
je 0x18012c1d4
cmp byte [rdi + 0x122], 0
je 0x18012c1cd
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c1c6
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x122], 0
mov dword [rdi + 0x128], r14d
mov ecx, dword [rdi + 0x13c]
test ecx, ecx
je 0x18012c204
cmp byte [rdi + 0x136], 0
je 0x18012c1fd
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c1f6
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x136], 0
mov dword [rdi + 0x13c], r14d
mov ecx, dword [rdi + 0x150]
test ecx, ecx
je 0x18012c234
cmp byte [rdi + 0x14a], 0
je 0x18012c22d
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c226
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x14a], 0
mov dword [rdi + 0x150], r14d
mov rdx, qword [rbp - 0x60]
xor r9d, r9d
mov r8d, r12d
mov byte [rsp + 0x20], 0
mov rcx, rdi
call fcn.1800fcc80
mov ecx, dword [rbp + 8]
test ecx, ecx
jle 0x18012c29a
xor eax, eax
mov ebx, eax
nop word [rax + rax]
mov rdx, qword [rbp]
add rdx, rbx
cmp dword [rdx + 0x10], r15d
jl 0x18012c28e
mov r9d, dword [rdx + 8]
lea eax, [r12 + r15]
mov r8d, dword [rdx + 0xc]
mov rcx, rdi
mov rdx, qword [rdx]
mov dword [rsp + 0x20], eax
call fcn.1800fd1e0
mov ecx, dword [rbp + 8]
inc r15d
inc r14d
add rbx, 0x20
cmp r14d, ecx
jl 0x18012c260
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x18012c2aa
inc dword [rdi + 0x58]
mov ebx, dword [rdi + 0x58]
jmp 0x18012c2b6
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebx, dword [rdi + rax*4 + 0x28]
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
mov r14d, dword [rsp + 0x54]
cmp dword [rax + 0x64], ecx
jg 0x18012c2e4
mov r9d, r14d
mov dword [rsp + 0x20], ebx
mov r8d, r12d
mov edx, 0x31
mov rcx, rsi
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18012c313
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x31
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
mov edx, dword [rbp - 0x1c]
cmp dword [rax + 0x64], ecx
jg 0x18012c340
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, rsi
mov edx, WSAGetLastError
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18012c36b
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], WSAGetLastError
mov byte [rax + rcx*8 + 3], 0
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 0x18012c39f
movzx ecx, byte [rdi + 0x1f]
cmp cl, 8
jae 0x18012c39f
mov eax, r8d
nop dword [rax + rax]
cmp dword [r13 + 0xc], ebx
je 0x18012c39a
inc eax
add r13, 0x14
cmp eax, 0xa
jl 0x18012c380
mov dword [rdi + rcx*4 + 0x28], ebx
inc byte [rdi + 0x1f]
jmp 0x18012c39f
mov byte [r13 + 6], 1
mov ecx, dword [rdi + 0x9c]
lea edx, [r14 - 1]
add edx, r12d
cmp ecx, r12d
jl 0x18012c3db
cmp ecx, edx
jg 0x18012c3db
cmp byte [rdi + 0x96], 0
je 0x18012c3d4
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c3cd
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x96], 0
mov dword [rdi + 0x9c], r8d
mov ecx, dword [rdi + 0xb0]
cmp ecx, r12d
jl 0x18012c410
cmp ecx, edx
jg 0x18012c410
cmp byte [rdi + 0xaa], 0
je 0x18012c409
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c402
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xaa], 0
mov dword [rdi + 0xb0], r8d
mov ecx, dword [rdi + 0xc4]
cmp ecx, r12d
jl 0x18012c445
cmp ecx, edx
jg 0x18012c445
cmp byte [rdi + 0xbe], 0
je 0x18012c43e
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c437
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xbe], 0
mov dword [rdi + 0xc4], r8d
mov ecx, dword [rdi + 0xd8]
cmp ecx, r12d
jl 0x18012c47a
cmp ecx, edx
jg 0x18012c47a
cmp byte [rdi + 0xd2], 0
je 0x18012c473
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c46c
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xd2], 0
mov dword [rdi + 0xd8], r8d
mov ecx, dword [rdi + 0xec]
cmp ecx, r12d
jl 0x18012c4af
cmp ecx, edx
jg 0x18012c4af
cmp byte [rdi + 0xe6], 0
je 0x18012c4a8
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c4a1
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xe6], 0
mov dword [rdi + 0xec], r8d
mov ecx, dword [rdi + 0x100]
cmp ecx, r12d
jl 0x18012c4e4
cmp ecx, edx
jg 0x18012c4e4
cmp byte [rdi + 0xfa], 0
je 0x18012c4dd
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c4d6
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xfa], 0
mov dword [rdi + 0x100], r8d
mov ecx, dword [rdi + 0x114]
cmp ecx, r12d
jl 0x18012c519
cmp ecx, edx
jg 0x18012c519
cmp byte [rdi + 0x10e], 0
je 0x18012c512
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c50b
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x10e], 0
mov dword [rdi + 0x114], r8d
mov ecx, dword [rdi + 0x128]
cmp ecx, r12d
jl 0x18012c54e
cmp ecx, edx
jg 0x18012c54e
cmp byte [rdi + 0x122], 0
je 0x18012c547
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c540
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x122], 0
mov dword [rdi + 0x128], r8d
mov ecx, dword [rdi + 0x13c]
cmp ecx, r12d
jl 0x18012c583
cmp ecx, edx
jg 0x18012c583
cmp byte [rdi + 0x136], 0
je 0x18012c57c
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c575
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x136], 0
mov dword [rdi + 0x13c], r8d
mov ecx, dword [rdi + 0x150]
cmp ecx, r12d
jl 0x18012c5b8
cmp ecx, edx
jg 0x18012c5b8
cmp byte [rdi + 0x14a], 0
je 0x18012c5b1
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c5aa
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x14a], 0
mov dword [rdi + 0x150], r8d
cmp r14d, dword [rdi + 0x48]
jle 0x18012c5c6
mov dword [rdi + 0x48], r14d
mov dword [rdi + 0x4c], r12d
mov rcx, qword [rbp - 0x50]
call fcn.180147f30
mov r12d, dword [rdi + 0x54]
mov dword [rbp - 0x18], r12d
lea eax, [r12 + 1]
mov dword [rdi + 0x54], eax
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x18012c5f0
inc dword [rdi + 0x58]
mov r13d, dword [rdi + 0x58]
jmp 0x18012c5fd
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov r13d, dword [rdi + rax*4 + 0x28]
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012c627
mov r9d, r13d
mov dword [rsp + 0x20], r14d
mov r8d, r12d
mov edx, 0x3c
mov rcx, rsi
call fcn.1800cfb00
xor r9d, r9d
jmp 0x18012c657
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x3c
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
mov edx, dword [rbp - 0x1c]
cmp dword [rax + 0x64], ecx
jg 0x18012c686
mov dword [rsp + 0x20], r9d
mov r8d, edx
mov r9d, dword [rsp + 0x50]
mov edx, 0x6a
mov rcx, rsi
call fcn.1800cfb00
xor r9d, r9d
jmp 0x18012c6b5
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x50]
mov dword [rax + rcx*8 + 8], edx
mov word [rax + rcx*8], WSAGetLastError
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov ecx, dword [rdi + 0x9c]
mov byte [rbp - 0x1f], 1
test ecx, ecx
je 0x18012c6e9
cmp byte [rdi + 0x96], 0
je 0x18012c6e2
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c6db
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x96], 0
mov dword [rdi + 0x9c], r9d
mov ecx, dword [rdi + 0xb0]
test ecx, ecx
je 0x18012c719
cmp byte [rdi + 0xaa], 0
je 0x18012c712
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c70b
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xaa], 0
mov dword [rdi + 0xb0], r9d
mov ecx, dword [rdi + 0xc4]
test ecx, ecx
je 0x18012c749
cmp byte [rdi + 0xbe], 0
je 0x18012c742
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c73b
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xbe], 0
mov dword [rdi + 0xc4], r9d
mov ecx, dword [rdi + 0xd8]
test ecx, ecx
je 0x18012c779
cmp byte [rdi + 0xd2], 0
je 0x18012c772
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c76b
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xd2], 0
mov dword [rdi + 0xd8], r9d
mov ecx, dword [rdi + 0xec]
test ecx, ecx
je 0x18012c7a9
cmp byte [rdi + 0xe6], 0
je 0x18012c7a2
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c79b
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xe6], 0
mov dword [rdi + 0xec], r9d
mov ecx, dword [rdi + 0x100]
test ecx, ecx
je 0x18012c7d9
cmp byte [rdi + 0xfa], 0
je 0x18012c7d2
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c7cb
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xfa], 0
mov dword [rdi + 0x100], r9d
mov ecx, dword [rdi + 0x114]
test ecx, ecx
je 0x18012c809
cmp byte [rdi + 0x10e], 0
je 0x18012c802
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c7fb
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x10e], 0
mov dword [rdi + 0x114], r9d
mov ecx, dword [rdi + 0x128]
test ecx, ecx
je 0x18012c839
cmp byte [rdi + 0x122], 0
je 0x18012c832
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c82b
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x122], 0
mov dword [rdi + 0x128], r9d
mov ecx, dword [rdi + 0x13c]
test ecx, ecx
je 0x18012c869
cmp byte [rdi + 0x136], 0
je 0x18012c862
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c85b
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x136], 0
mov dword [rdi + 0x13c], r9d
mov ecx, dword [rdi + 0x150]
test ecx, ecx
je 0x18012c899
cmp byte [rdi + 0x14a], 0
je 0x18012c892
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c88b
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x14a], 0
mov dword [rdi + 0x150], r9d
mov rax, qword [rbp - 0x50]
mov r14d, dword [rbp + 0x138]
cmp dword [rsp + 0x68], 0
je 0x18012c8f8
mov rcx, qword [rbp - 0x78]
test byte [rcx + 0x50], 4
jne 0x18012c8f8
test r14d, r14d
jne 0x18012c8c0
cmp byte [rax + 0x37], r14b
je 0x18012c8f8
mov rcx, qword [rsi]
mov qword [rbp + 0x68], r9
cmp byte [rcx + 0x55], 0
jne 0x18012c8f8
movsxd rax, dword [rbp - 0x6c]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.18008b8c0
xor r9d, r9d
mov word [rbx], 0xa0
mov qword [rbx + 0x10], r9
mov ecx, dword [rdi + 0x9c]
mov r15d, dword [rsi + 0x3c]
mov dword [rbp - 0x58], r15d
test ecx, ecx
je 0x18012c930
cmp byte [rdi + 0x96], 0
je 0x18012c929
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c922
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x96], 0
mov dword [rdi + 0x9c], r9d
mov ecx, dword [rdi + 0xb0]
test ecx, ecx
je 0x18012c960
cmp byte [rdi + 0xaa], 0
je 0x18012c959
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c952
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xaa], 0
mov dword [rdi + 0xb0], r9d
mov ecx, dword [rdi + 0xc4]
test ecx, ecx
je 0x18012c990
cmp byte [rdi + 0xbe], 0
je 0x18012c989
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c982
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xbe], 0
mov dword [rdi + 0xc4], r9d
mov ecx, dword [rdi + 0xd8]
test ecx, ecx
je 0x18012c9c0
cmp byte [rdi + 0xd2], 0
je 0x18012c9b9
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c9b2
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xd2], 0
mov dword [rdi + 0xd8], r9d
mov ecx, dword [rdi + 0xec]
test ecx, ecx
je 0x18012c9f0
cmp byte [rdi + 0xe6], 0
je 0x18012c9e9
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012c9e2
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xe6], 0
mov dword [rdi + 0xec], r9d
mov ecx, dword [rdi + 0x100]
test ecx, ecx
je 0x18012ca20
cmp byte [rdi + 0xfa], 0
je 0x18012ca19
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012ca12
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xfa], 0
mov dword [rdi + 0x100], r9d
mov ecx, dword [rdi + 0x114]
test ecx, ecx
je 0x18012ca50
cmp byte [rdi + 0x10e], 0
je 0x18012ca49
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012ca42
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x10e], 0
mov dword [rdi + 0x114], r9d
mov ecx, dword [rdi + 0x128]
test ecx, ecx
je 0x18012ca80
cmp byte [rdi + 0x122], 0
je 0x18012ca79
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012ca72
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x122], 0
mov dword [rdi + 0x128], r9d
mov ecx, dword [rdi + 0x13c]
test ecx, ecx
je 0x18012cab0
cmp byte [rdi + 0x136], 0
je 0x18012caa9
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012caa2
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x136], 0
mov dword [rdi + 0x13c], r9d
mov ecx, dword [rdi + 0x150]
test ecx, ecx
je 0x18012cae0
cmp byte [rdi + 0x14a], 0
je 0x18012cad9
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012cad2
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x14a], 0
mov dword [rdi + 0x150], r9d
movsxd rcx, dword [rsi + 0x3c]
test r14d, r14d
je 0x18012cb3e
mov rax, qword [rsi + 0x30]
mov edx, dword [rbp - 0x1c]
cmp dword [rax + 0x64], ecx
jg 0x18012cb12
mov r8d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x64
mov r9d, r13d
mov rcx, rsi
call fcn.1800cfb00
xor r9d, r9d
jmp 0x18012cb3e
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x64
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rbp - 0x60]
mov ebx, r9d
mov r13d, dword [rbp - 0x30]
mov edx, dword [rax]
test edx, edx
jle 0x18012cbed
mov r15d, dword [rbp + 0x138]
mov r14, r9
nop dword [rax]
lea r8d, [rbx + r13]
test r15d, r15d
je 0x18012cbbe
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012cb90
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, r12d
mov edx, 0x2f
mov rcx, rsi
call fcn.1800cfb00
jmp 0x18012cbd2
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x2f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x18012cbd5
mov byte [rbp - 0x20], 1
mov rcx, rdi
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + r14]
call fcn.1800fcab0
xor r9d, r9d
mov rax, qword [rbp - 0x60]
inc ebx
add r14, 0x28
mov edx, dword [rax]
cmp ebx, edx
jl 0x18012cb60
mov r15d, dword [rbp - 0x58]
mov r10, qword [rbp + 0x20]
test r10, r10
je 0x18012cbfb
inc dword [r10]
mov edx, dword [rax]
mov rax, qword [rsi + 0x30]
movsxd r8, dword [rsi + 0x3c]
mov r12d, dword [rbp - 0x2c]
cmp dword [rax + 0x64], r8d
jg 0x18012cc2d
mov dword [rsp + 0x20], edx
mov r9d, r13d
mov edx, 0x2a
mov r8d, r12d
mov rcx, rsi
call fcn.1800cfb00
mov r10, qword [rbp + 0x20]
mov r8d, eax
jmp 0x18012cc5a
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x2a
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x18012cc7c
test r10, r10
je 0x18012ccbe
cmp qword [rax + 0x290], 0
jne 0x18012ccbe
mov rcx, r10
call fcn.18011c410
jmp 0x18012ccbe
test r8d, r8d
jns 0x18012cc88
mov r8d, dword [rsi + 0x3c]
dec r8d
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x18012ccb1
mov r9d, 0xfffffffa
mov r8, r10
mov rcx, rsi
call fcn.18014e490
jmp 0x18012ccbe
test r10, r10
je 0x18012ccbe
mov qword [rdx + 0x10], r10
mov byte [rdx + 1], 0xfa
movsxd r14, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
lea edx, [r14 + 1]
cmp dword [rax + 0x64], r14d
jg 0x18012cceb
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0x2b]
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18012cd16
mov rax, qword [rsi + 8]
lea rcx, [r14 + r14*2]
mov dword [rsi + 0x3c], edx
xor r8d, r8d
mov word [rax + rcx*8], 0x2b
mov byte [rax + rcx*8 + 3], 0
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 [rbp - 0x60]
mov r10, qword [rdi + 0x10]
mov ebx, dword [rax]
mov rax, qword [r10 + 0x30]
movsxd rcx, dword [r10 + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012cd49
mov r9d, r12d
mov dword [rsp + 0x20], ebx
mov r8d, r13d
mov edx, 0x1d
mov rcx, r10
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18012cd76
lea eax, [rcx + 1]
mov dword [r10 + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 8]
mov word [rax + rcx*8], 0x1d
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r8
mov ecx, dword [rdi + 0x9c]
lea edx, [rbx - 1]
add edx, r13d
cmp ecx, r13d
jl 0x18012cdb1
cmp ecx, edx
jg 0x18012cdb1
cmp byte [rdi + 0x96], 0
je 0x18012cdaa
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012cda3
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x96], 0
mov dword [rdi + 0x9c], r8d
mov ecx, dword [rdi + 0xb0]
cmp ecx, r13d
jl 0x18012cde6
cmp ecx, edx
jg 0x18012cde6
cmp byte [rdi + 0xaa], 0
je 0x18012cddf
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012cdd8
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xaa], 0
mov dword [rdi + 0xb0], r8d
mov ecx, dword [rdi + 0xc4]
cmp ecx, r13d
jl 0x18012ce1b
cmp ecx, edx
jg 0x18012ce1b
cmp byte [rdi + 0xbe], 0
je 0x18012ce14
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012ce0d
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xbe], 0
mov dword [rdi + 0xc4], r8d
mov ecx, dword [rdi + 0xd8]
cmp ecx, r13d
jl 0x18012ce50
cmp ecx, edx
jg 0x18012ce50
cmp byte [rdi + 0xd2], 0
je 0x18012ce49
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012ce42
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xd2], 0
mov dword [rdi + 0xd8], r8d
mov ecx, dword [rdi + 0xec]
cmp ecx, r13d
jl 0x18012ce85
cmp ecx, edx
jg 0x18012ce85
cmp byte [rdi + 0xe6], 0
je 0x18012ce7e
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012ce77
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xe6], 0
mov dword [rdi + 0xec], r8d
mov ecx, dword [rdi + 0x100]
cmp ecx, r13d
jl 0x18012ceba
cmp ecx, edx
jg 0x18012ceba
cmp byte [rdi + 0xfa], 0
je 0x18012ceb3
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012ceac
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0xfa], 0
mov dword [rdi + 0x100], r8d
mov ecx, dword [rdi + 0x114]
cmp ecx, r13d
jl 0x18012ceef
cmp ecx, edx
jg 0x18012ceef
cmp byte [rdi + 0x10e], 0
je 0x18012cee8
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012cee1
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x10e], 0
mov dword [rdi + 0x114], r8d
mov ecx, dword [rdi + 0x128]
cmp ecx, r13d
jl 0x18012cf24
cmp ecx, edx
jg 0x18012cf24
cmp byte [rdi + 0x122], 0
je 0x18012cf1d
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012cf16
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x122], 0
mov dword [rdi + 0x128], r8d
mov ecx, dword [rdi + 0x13c]
cmp ecx, r13d
jl 0x18012cf59
cmp ecx, edx
jg 0x18012cf59
cmp byte [rdi + 0x136], 0
je 0x18012cf52
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012cf4b
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x136], 0
mov dword [rdi + 0x13c], r8d
mov ecx, dword [rdi + 0x150]
cmp ecx, r13d
jl 0x18012cf8e
cmp ecx, edx
jg 0x18012cf8e
cmp byte [rdi + 0x14a], 0
je 0x18012cf87
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x18012cf80
mov dword [rdi + rax*4 + 0x28], ecx
inc byte [rdi + 0x1f]
mov byte [rdi + 0x14a], 0
mov dword [rdi + 0x150], r8d
mov rax, qword [rsi + 0x30]
mov ebx, dword [rsp + 0x58]
movsxd rcx, dword [rsi + 0x3c]
mov r13d, dword [rbp - 0x28]
lea r12d, [rbx + 1]
cmp dword [rax + 0x64], ecx
jg 0x18012cfc4
mov dword [rsp + 0x20], r8d
mov r9d, r13d
mov r8d, r12d
mov edx, select
mov rcx, rsi
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18012cff1
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], select
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012d01d
mov r9d, dword [rsp + 0x50]
mov edx, 0x8a
mov dword [rsp + 0x20], r8d
mov rcx, rsi
mov r8d, ebx
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18012d04c
mov edx, dword [rsp + 0x50]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x8a
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012d078
mov r9d, dword [rbp - 0x70]
mov edx, select
mov dword [rsp + 0x20], r8d
mov rcx, rsi
mov r8d, dword [rbp + 0x120]
call fcn.1800cfb00
jmp 0x18012d0ac
mov edx, dword [rbp + 0x120]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x70]
mov dword [rax + rcx*8 + 8], edx
mov word [rax + rcx*8], select
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov ecx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
dec ecx
mov dword [rax + 0x6c], ecx
mov edx, dword [rsi + 0x3c]
test r14d, r14d
jns 0x18012d0c4
lea r14d, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x18012d0d6
lea rax, [0x1801eea88]
jmp 0x18012d0e5
movsxd rax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rcx, rdi
lea rdx, [rbp - 0x20]
call fcn.18014ce20
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012d120
mov r9d, dword [rsp + 0x70]
xor eax, eax
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x16]
lea r8d, [rax + 1]
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18012d156
mov edx, dword [rsp + 0x70]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
xor r8d, r8d
mov word [rax + rcx*8], socket
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
cmp dword [rbp + 0x138], 0
je 0x18012d1ed
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
mov edx, dword [rbp - 0x1c]
cmp dword [rax + 0x64], ecx
jg 0x18012d1bf
mov dword [rsp + 0x20], r8d
mov r9d, r15d
mov r8d, edx
mov rcx, rsi
mov edx, 3
call fcn.1800cfb00
xor r8d, r8d
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012d234
mov dword [rsp + 0x20], r8d
mov r9d, r13d
mov r8d, r12d
mov edx, select
mov rcx, rsi
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18012d261
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 3
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x18012d18e
mov rcx, qword [rbp - 0x50]
call fcn.180147f30
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
jne 0x18012d18b
movsxd rax, dword [rsp + 0x78]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.18008b8c0
xor r8d, r8d
mov word [rbx], 0xa0
mov qword [rbx + 0x10], r8
mov ebx, dword [rsp + 0x58]
jmp 0x18012d18e
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], select
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012d28c
mov r9d, dword [rsp + 0x50]
mov rcx, rsi
mov dword [rsp + 0x20], r8d
xor r8d, r8d
lea edx, [r8 + 0xd]
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18012d2bc
mov edx, dword [rsp + 0x50]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], select
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi + 0x30]
movsxd r14, dword [rsi + 0x3c]
cmp dword [rax + 0x64], r14d
jg 0x18012d2e8
mov edx, socket
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov rcx, rsi
lea r8d, [rdx - 0x15]
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18012d318
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], socket
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012d341
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, r12d
mov rcx, rsi
lea edx, [r9 + 0xf]
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18012d36d
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], select
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
mov r9, qword [rsi + 0x30]
mov rdx, qword [r9 + 0x88]
test rdx, rdx
je 0x18012d38e
mov eax, 0xffffffff
sub eax, r13d
movsxd rcx, eax
mov eax, dword [rsi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsi + 0x3c]
dec eax
mov dword [r9 + 0x6c], eax
movsxd rbx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
lea r9d, [rbx + 2]
cmp dword [rax + 0x64], ebx
jg 0x18012d3c4
mov dword [rsp + 0x20], r8d
mov edx, 0x8a
mov r8d, dword [rsp + 0x70]
mov rcx, rsi
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18012d3f4
mov edx, dword [rsp + 0x70]
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x8a
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012d41a
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, r12d
mov rcx, rsi
lea edx, [r9 + 0xf]
call fcn.1800cfb00
jmp 0x18012d446
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], select
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.1800877a0
mov rdx, qword [rbp + 0x30]
inc ebx
mov r8d, ebx
mov r9d, reloc.WS2_32.dll_recv
mov rcx, rdi
call fcn.1800ff280
mov r13, qword [rbp + 0x128]
lea rax, [rbp - 0x48]
mov r15, qword [rbp + 0x130]
mov rdx, r13
mov dword [rsp + 0x40], r14d
mov rcx, rdi
mov dword [rsp + 0x38], ebx
mov r14, 0xffffffffffffffff
mov r8, qword [r13]
mov r9d, r14d
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.1800e8df0
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012d4d9
xor eax, eax
xor r9d, r9d
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0xf]
call fcn.1800cfb00
xor r12d, r12d
jmp 0x18012d504
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 4], r12d
xor r12d, r12d
mov qword [rax + rcx*8 + 8], r12
mov qword [rax + rcx*8 + 0x10], r12
mov word [rax + rcx*8], select
mov byte [rax + rcx*8 + 3], 0
mov r9, qword [rsi + 0x30]
mov rdx, qword [r9 + 0x88]
test rdx, rdx
je 0x18012d523
mov eax, r14d
sub eax, dword [rbp - 0x70]
movsxd rcx, eax
mov eax, dword [rsi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsi + 0x3c]
lea rdx, [rbp - 0x20]
dec eax
mov rcx, rdi
mov dword [r9 + 0x6c], eax
call fcn.1800e3210
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012d569
mov r9, qword [rbp + 0x128]
mov r13, r11
mov qword [rbp + 0x138], r11
cmp qword [r9 + 0x28], 0
jne 0x18012d9c0
mov rax, qword [r9]
cmp dword [rax], 1
jne 0x18012d9c0
mov r15, qword [r9 + 0x20]
cmp dword [r15], 1
jne 0x18012d9c0
cmp qword [r15 + 0x30], 0
jne 0x18012d9c0
mov r15, qword [r15 + 0x28]
mov rax, qword [rax + 8]
test byte [r15 + 0x46], 0x10
mov rcx, qword [rax]
jne 0x18012d9c0
cmp byte [rcx], 0x99
jne 0x18012d9c0
test r8d, r8d
je 0x18012d9c0
mov rax, qword [rdx + 8]
mov r10d, 0x100
test word [rax + 2], r10w
je 0x18012d9c0
test byte [rcx + 4], 0x10
jne 0x18012d9c0
mov rdx, qword [r15 + 0x68]
mov r14d, 0xfff0bdc0
test rdx, rdx
je 0x18012d66a
mov rax, qword [rdi]
mov r14d, r11d
movsxd rcx, dword [rax + 0x28]
test ecx, ecx
jle 0x18012d66a
mov rax, qword [rax + 0x20]
mov r8, rcx
add rax, 0x18
mov rcx, r11
cmp qword [rax], rdx
je 0x18012d66a
inc r14d
inc rcx
add rax, 0x20
cmp rcx, r8
jl 0x18012d656
mov r13d, dword [rdi + 0x54]
mov rcx, rdi
mov r12, r11
mov rbx, r11
lea eax, [r13 + 1]
mov dword [rdi + 0x54], eax
mov eax, dword [r15 + 0x38]
mov dword [rbp + 0x120], eax
mov rax, qword [rdi + 0x1c8]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x174]
bt eax, r14d
jb 0x18012d6d7
bts eax, r14d
movsxd r9, r14d
mov dword [rcx + 0x174], eax
mov r8, r9
mov rax, qword [rcx]
shl r8, 5
mov rdx, qword [rax + 0x20]
mov rax, qword [r8 + rdx + 0x18]
mov edx, dword [rax]
mov dword [rcx + r9*4 + 0x178], edx
cmp r14d, 1
jne 0x18012d6d7
call fcn.18011e610
mov rax, qword [r15]
xor r9d, r9d
mov r8d, dword [r15 + 0x38]
mov edx, r14d
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.180130440
test byte [r15 + 0x46], 0x20
je 0x18012d713
mov rbx, qword [r15 + 0x10]
test rbx, rbx
je 0x18012d713
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x18012d713
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x18012d701
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x18012d74f
nop dword [rax]
test byte [rax + 0x64], 4
jne 0x18012d746
movzx ecx, word [rax + 0x5c]
cmp cx, word [r15 + 0x44]
jge 0x18012d746
cmp qword [rax + 0x48], 0
jne 0x18012d746
test rbx, rbx
je 0x18012d743
cmp cx, word [rbx + 0x5c]
jge 0x18012d746
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x18012d720
test rbx, rbx
je 0x18012d76b
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, rdi
mov dword [rbp + 0x120], eax
call fcn.18011c2d0
mov r12, rax
mov r9d, dword [rbp + 0x120]
mov r8d, r13d
mov dword [rsp + 0x28], 1
mov edx, 0x36
mov rcx, rsi
mov dword [rsp + 0x20], r14d
call fcn.180135730
test r12, r12
je 0x18012d7e7
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
je 0x18012d7b1
cmp qword [rcx + 0x290], 0
jne 0x18012d7e7
mov rcx, r12
call fcn.18011c410
jmp 0x18012d7e7
movsxd rax, dword [rsi + 0x3c]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rdx, [rdx - 3]
cmp byte [rax + rdx*8 + 1], 0
lea rdx, [rax + rdx*8]
je 0x18012d7df
mov r9d, 0xfffffffa
mov r8, r12
mov rcx, rsi
call fcn.18014e490
jmp 0x18012d7e7
mov qword [rdx + 0x10], r12
mov byte [rdx + 1], 0xfa
mov rax, qword [rbp + 0x10]
xor r12d, r12d
movsxd rcx, dword [rsi + 0x3c]
mov edx, dword [rax + 0x10]
mov rax, qword [rsi + 0x30]
cmp dword [rax + 0x64], ecx
jg 0x18012d818
mov r9d, edx
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 0x32]
mov r8d, r13d
mov rcx, rsi
call fcn.1800cfb00
jmp 0x18012d844
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x32
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18012d86a
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, r13d
mov rcx, rsi
lea edx, [r9 + 0x3d]
call fcn.1800cfb00
jmp 0x18012d896
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x3d
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
cmp byte [rdi + 0x1f5], 2
jne 0x18012db03
lea r9, [0x1801c2c03]
test rbx, rbx
je 0x18012d8c4
test byte [r15 + 0x46], 0x20
je 0x18012d8bf
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x18012d8c4
mov rax, qword [rbx]
jmp 0x18012d8cc
mov dword [rsp + 0x54], r12d
mov rax, r9
cmp dword [rsp + 0x54], 0
lea rcx, str._USING_COVERING_INDEX
mov r8, qword [r15]
lea rdx, str.SCAN_TABLE__s_s_s
cmovne r9, rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rdi]
call fcn.18011da20
mov rbx, qword [rdi + 0x10]
mov r14, rax
mov r8d, dword [rdi + 0x204]
mov rcx, qword [rbx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
cmp dword [rcx + 0x64], edx
jg 0x18012d927
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov edx, 0xa1
mov rcx, rbx
call fcn.1800cfb00
mov edx, eax
jmp 0x18012d953
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0xa1
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], 0
je 0x18012d972
test r14, r14
je 0x18012db03
mov rdx, r14
call fcn.1800f83c0
jmp 0x18012db03
test edx, edx
jns 0x18012d97b
mov edx, dword [rbx + 0x3c]
dec edx
movsxd rax, edx
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 8]
cmp byte [rax + rdx*8 + 1], 0
lea rcx, [rax + rdx*8]
je 0x18012d9aa
mov rdx, rcx
mov r9d, 0xffffffff
mov rcx, rbx
mov r8, r14
call fcn.18014e490
jmp 0x18012db03
test r14, r14
je 0x18012db03
mov qword [rcx + 0x10], r14
mov byte [rcx + 1], 0xff
jmp 0x18012db03
xor r14b, r14b
mov rbx, r11
cmp qword [r9 + 0x38], 0
jne 0x18012da77
mov r14d, r11d
cmp r8d, 1
jne 0x18012da32
mov r12, qword [rdx]
mov r15, qword [r12 + 0x20]
test r15, r15
je 0x18012da32
cmp dword [r15], r8d
jne 0x18012da32
mov rax, qword [r15 + 8]
mov rcx, qword [rax]
cmp byte [rcx], 0x9a
jne 0x18012da32
mov r12, qword [r12 + 8]
lea rdx, [0x1801ab44c]
mov rcx, r12
call fcn.180130290
test eax, eax
jne 0x18012da16
lea r14d, [rax + 1]
jmp 0x18012da2f
lea rdx, [0x1801ab450]
mov rcx, r12
call fcn.180130290
test eax, eax
jne 0x18012da32
mov r14d, 2
mov rbx, r15
mov r15, qword [rbp - 0x78]
test r14b, r14b
je 0x18012da7b
xor r8d, r8d
mov rdx, rbx
mov rcx, r15
call fcn.1801001d0
cmp byte [r15 + 0x55], 0
mov rbx, rax
mov r13, rax
mov qword [rbp + 0x138], rax
jne 0x18012da7b
mov rax, qword [rax + 8]
cmp r14b, 1
setne cl
mov byte [rax + 0x18], cl
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
mov byte [rcx], 0x98
jmp 0x18012da7b
mov r15, qword [rbp - 0x78]
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.1800e3210
mov r8, qword [rbp - 0x50]
xor r12d, r12d
mov rdx, qword [rbp - 0x80]
mov r9, rbx
movzx eax, r14b
mov rcx, rdi
mov dword [rsp + 0x30], r12d
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r12
call fcn.180144d20
mov rbx, rax
test rax, rax
jne 0x18012dad2
mov rdx, r13
mov rcx, r15
call fcn.1800ffe70
mov eax, dword [rsp + 0x6c]
mov dword [rdi + 0x204], eax
jmp 0x18012dc68
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.18014ce20
cmp byte [rbx + 0x36], r12b
jle 0x18012daef
mov edx, dword [rbx + 0x44]
mov rcx, rsi
call fcn.18013e860
mov rcx, rbx
call fcn.180147f30
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.1800877a0
mov ebx, dword [rsp + 0x50]
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rbp + 0x30]
mov r8d, ebx
mov rcx, rdi
mov qword [rbp + 0x68], r12
call fcn.1800ff280
mov r13, qword [rbp + 0x128]
mov r14, 0xffffffffffffffff
mov r15, qword [rbp + 0x130]
mov r9d, r14d
mov dword [rsp + 0x40], ebx
mov rdx, r13
mov dword [rsp + 0x38], ebx
mov rcx, rdi
mov r8, qword [r13]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call fcn.1800e8df0
mov rdx, qword [rbp + 0x138]
mov rcx, qword [rbp - 0x78]
call fcn.1800ffe70
mov r8, qword [rsi + 0x30]
mov r9, qword [r8 + 0x88]
test r9, r9
je 0x18012db8d
mov eax, r14d
sub eax, ebx
movsxd rcx, eax
mov eax, dword [rsi + 0x3c]
mov dword [r9 + rcx*4], eax
mov eax, dword [rsi + 0x3c]
mov r12, qword [rsp + 0x60]
dec eax
mov dword [r8 + 0x6c], eax
cmp byte [rbp - 0x68], 3
jne 0x18012dbb0
lea rdx, str.DISTINCT
mov rcx, rdi
call fcn.180084580
cmp qword [rbp + 0x68], 0
je 0x18012dbed
cmp dword [rbp + 0x70], 0
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea rdx, str.ORDER_BY
mov rcx, rdi
cmovg rdx, rax
call fcn.180084580
mov r9d, dword [r12]
lea r8, [rbp + 0x68]
mov rdx, r13
mov qword [rsp + 0x20], r15
mov rcx, rdi
call fcn.1800ccd10
mov rdx, qword [rsi + 0x30]
mov r8, qword [rdx + 0x88]
test r8, r8
je 0x18012dc0b
sub r14d, dword [rbp + 0x28]
mov eax, dword [rsi + 0x3c]
movsxd rcx, r14d
mov dword [r8 + rcx*4], eax
mov eax, dword [rsi + 0x3c]
dec eax
mov dword [rdx + 0x6c], eax
xor eax, eax
cmp dword [rdi + 0x50], eax
mov ebx, eax
setg bl
mov dword [rsp + 0x54], ebx
mov rbx, qword [rbp - 0x80]
jmp 0x18012dc43
mov r12, qword [rsp + 0x60]
jmp 0x18012dc3c
mov r12, qword [rsp + 0x60]
mov rbx, qword [rbp - 0x80]
jmp 0x18012dc3c
mov rbx, r13
mov r15, qword [rbp + 0x130]
cmp dword [rsp + 0x54], 0
mov eax, dword [rsp + 0x6c]
mov dword [rdi + 0x204], eax
jne 0x18012dc68
cmp byte [r15], 9
jne 0x18012dc68
mov r8, r12
mov rdx, rbx
mov rcx, rdi
call fcn.1800cbe90
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x78]
call fcn.1800f83c0
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp - 0x78]
call fcn.1800f83c0
mov eax, dword [rsp + 0x54]
jmp 0x18012dc8b
mov eax, r13d
add rsp, 0x1d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret