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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x1802407e8]
xor rax, rsp
mov qword [rbp + 0xa8], rax
mov rsi, qword [rcx + 0x10]
xor edi, edi
mov rax, qword [rcx]
mov r15d, 1
mov qword [rbp - 0x30], r8
mov r13, r8
mov qword [rbp - 0x20], rdx
mov r12, rdx
mov qword [rbp - 0x38], r15
mov r14, rcx
mov qword [rbp - 0x10], rdi
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x58], rsi
test rsi, rsi
jne 0x180099a01
cmp qword [rcx + 0xa8], rdi
jne 0x1800999f5
test byte [rax + 0x60], 8
jne 0x1800999f5
mov byte [rcx + 0x23], r15b
call fcn.180033760
mov rsi, rax
mov qword [rbp - 0x58], rax
test r12, r12
je 0x18009cd96
cmp dword [r14 + 0x30], edi
jne 0x18009cd96
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x15]
call fcn.180062550
test eax, eax
jne 0x18009cd96
cmp byte [r13], 6
mov qword [rsp + 0x208], rbx
ja 0x180099ab3
mov rbx, qword [r12 + 0x48]
test rbx, rbx
je 0x180099aa2
mov rcx, qword [r14]
test rcx, rcx
je 0x180099a5e
lea edx, [rax + 0x18]
call fcn.180007150
jmp 0x180099a68
mov ecx, 0x18
call fcn.180006980
mov rcx, rax
test rax, rax
je 0x180099a92
mov rax, qword [r14 + 0xc0]
mov qword [rcx], rax
lea rax, [fcn.18004fb00]
mov qword [r14 + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], rbx
jmp 0x180099a9d
mov rcx, qword [r14]
mov rdx, rbx
call fcn.18004fa90
mov qword [r12 + 0x48], rdi
mov eax, dword [r12 + 4]
and eax, 0xfffffffe
bts eax, 0x16
mov dword [r12 + 4], eax
mov rax, qword [r14]
cmp byte [rax + 0x67], dil
jne 0x180099af4
test byte [r12 + 4], 0x80
jne 0x180099af4
mov rdx, r12
mov rcx, r14
call fcn.180098160
cmp dword [r14 + 0x30], edi
jne 0x180099af4
xor r8d, r8d
mov rdx, r12
mov rcx, r14
call fcn.18004c060
cmp dword [r14 + 0x30], edi
jne 0x180099af4
mov rdx, r12
mov rcx, r14
call fcn.1800984e0
lea rbx, [0x18024b8e0]
cmp dword [r14 + 0x30], edi
jne 0x180099b41
mov r10d, dword [r12 + 4]
bt r10d, 0x17
jae 0x180099b55
mov rdx, qword [r12 + 0x28]
lea r11, [rdx + 8]
mov rcx, r11
call fcn.1800998a0
test eax, eax
je 0x180099b4b
mov r8, qword [r11 + 0x18]
test r8, r8
jne 0x180099b32
mov rax, qword [r11 + 0x20]
mov r8, qword [rax]
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, r14
call fcn.18000aa70
mov r11, qword [rsp + 0x50]
jmp 0x180099eb1
btr r10d, 0x17
mov dword [r12 + 4], r10d
cmp byte [r13], 9
jne 0x180099b67
mov rdx, r12
mov rcx, r14
call fcn.180090050
mov rdx, r12
mov rcx, r14
call fcn.1800be660
test eax, eax
jne 0x180099b41
mov eax, dword [r12 + 4]
mov ecx, edi
mov rbx, qword [r12 + 0x28]
xorps xmm0, xmm0
shr eax, 3
xorps xmm1, xmm1
and eax, r15d
mov qword [rbp + 0x68], rdi
mov dword [rsp + 0x58], eax
mov rax, qword [r12 + 0x48]
mov qword [rbp + 0x40], rax
movdqu xmmword [rbp + 0x48], xmm0
mov dword [rsp + 0x40], ecx
movdqu xmmword [rbp + 0x58], xmm1
cmp qword [r12 + 0x50], rcx
jne 0x180099e36
mov r11, qword [rsp + 0x50]
mov r13, rdi
cmp ecx, dword [rbx]
jge 0x180099f23
imul r15, r13, 0x68
add r15, rbx
movzx eax, byte [r15 + 0x44]
mov rdx, qword [r15 + 0x30]
mov r10, qword [r15 + 0x28]
mov qword [rbp - 0x48], rdx
mov qword [rbp - 0x70], r10
test al, 0x48
je 0x180099cbd
mov edx, dword [r15 + 0x4c]
mov r8d, eax
mov rcx, qword [r12 + 0x30]
and r8d, 0x40
call fcn.180058200
mov r11, qword [rsp + 0x50]
test eax, eax
je 0x180099cb1
test dword [r11 + 0x60], 0x2000
jne 0x180099cb1
movzx eax, byte [r15 + 0x44]
test al, 8
je 0x180099c33
test al, 0x10
je 0x180099c2d
and al, 0xf7
jmp 0x180099c2f
and al, 0xd7
mov byte [r15 + 0x44], al
test al, 0x40
je 0x180099c9a
mov edx, dword [rsp + 0x40]
lea rcx, [r13 + 1]
mov eax, dword [rbx]
inc edx
cmp edx, eax
jge 0x180099c71
imul rcx, rcx, 0x68
add rcx, 0x44
add rcx, rbx
movzx eax, byte [rcx]
test al, 0x10
je 0x180099c65
test al, 8
je 0x180099c61
and al, 0xef
jmp 0x180099c63
and al, 0xcf
mov byte [rcx], al
mov eax, dword [rbx]
inc edx
add rcx, 0x68
cmp edx, eax
jl 0x180099c52
dec eax
movsxd rdx, eax
cmp rdx, r13
jl 0x180099c9a
imul rcx, rdx, 0x68
add rcx, 0x44
add rcx, rbx
and byte [rcx], 0xbf
test byte [rcx], 0x10
jne 0x180099c9a
dec rdx
sub rcx, 0x68
cmp rdx, r13
jge 0x180099c86
movzx r8d, byte [rbx + 0x44]
mov edx, dword [r15 + 0x4c]
and r8d, 0x40
mov rcx, qword [r12 + 0x30]
call fcn.18008c670
mov ecx, dword [rsp + 0x40]
mov rdx, qword [rbp - 0x48]
mov r10, qword [rbp - 0x70]
test rdx, rdx
je 0x180099e1e
mov rax, qword [rdx + 0x20]
movsx r8d, word [r10 + 0x36]
mov r9d, dword [rax]
cmp r8d, r9d
jne 0x180099e88
test dword [r15 + 0x48], 0x100
je 0x180099cf3
mov rax, qword [r15 + 0x68]
cmp byte [rax + 0x12], dil
je 0x180099e1e
mov eax, dword [rdx + 4]
test al, 8
jne 0x180099e1e
mov r15, qword [rdx + 0x48]
test r15, r15
je 0x180099dc2
cmp qword [r12 + 0x48], rdi
jne 0x180099d1b
cmp dword [rbx], 1
jle 0x180099da5
cmp qword [rdx + 0x60], rdi
jne 0x180099da5
bt eax, 0x1b
jb 0x180099da5
test dword [r12 + 4], 0x8000000
jne 0x180099da5
test dword [r11 + 0x60], 0x40000
jne 0x180099da5
mov rcx, qword [r14]
test rcx, rcx
je 0x180099d54
mov edx, 0x18
call fcn.180007150
jmp 0x180099d5e
mov ecx, 0x18
call fcn.180006980
mov rcx, rax
test rax, rax
je 0x180099d90
mov rax, qword [r14 + 0xc0]
mov qword [rcx], rax
lea rax, [fcn.18004fb00]
mov qword [r14 + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov rax, qword [rbp - 0x48]
mov qword [rcx + 8], r15
mov qword [rax + 0x48], rdi
jmp 0x180099dc2
mov rcx, qword [r14]
mov rdx, r15
call fcn.18004fa90
mov rax, qword [rbp - 0x48]
mov qword [rax + 0x48], rdi
jmp 0x180099dc2
test ecx, ecx
jne 0x180099dc2
test dword [r12 + 4], 0x40000
je 0x180099dc2
cmp dword [rbx], 1
je 0x180099e1e
test byte [rbx + 0xac], 0x22
jne 0x180099e1e
mov r9d, dword [rsp + 0x58]
mov rdx, r12
mov r8d, dword [rsp + 0x40]
mov rcx, r14
call fcn.180094f40
test eax, eax
je 0x180099df4
cmp dword [r14 + 0x30], edi
jne 0x180099e9f
mov dword [rsp + 0x40], 0xffffffff
mov r13, 0xffffffffffffffff
mov r11, qword [rsp + 0x50]
mov rbx, qword [r12 + 0x28]
cmp byte [r11 + 0x67], dil
jne 0x180099ea4
mov rax, qword [rbp - 0x30]
mov ecx, dword [rsp + 0x40]
cmp byte [rax], 8
jbe 0x180099e1e
mov rax, qword [r12 + 0x48]
mov qword [rbp + 0x40], rax
inc ecx
inc r13
mov dword [rsp + 0x40], ecx
cmp qword [r12 + 0x50], rdi
je 0x180099bc0
mov r13, qword [rbp - 0x30]
mov r8, r13
mov rdx, r12
mov rcx, r14
call fcn.180091aa0
mov r8d, eax
cmp qword [r12 + 0x58], rdi
jne 0x18009cd8e
movsxd rcx, dword [r14 + 0x138]
test ecx, ecx
je 0x18009cd87
mov rdx, qword [r14 + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], dil
je 0x18009cd74
lea rax, [0x18024b8e0]
mov edi, dword [rax + 8]
mov eax, r8d
mov dword [r14 + 0x138], edi
jmp 0x180099ef9
mov dword [rsp + 0x20], r9d
lea rdx, str.expected__d_columns_for__s_but_got__d
mov r9, qword [r10]
mov rcx, r14
call fcn.18000aa70
mov r11, qword [rsp + 0x50]
mov r15d, 1
lea rbx, [0x18024b8e0]
mov rax, qword [rbp - 0x10]
test rax, rax
je 0x180099ec5
mov rdx, rax
mov rcx, r11
call fcn.18004fa90
movsxd rcx, dword [r14 + 0x138]
test ecx, ecx
je 0x180099eef
mov rdx, qword [r14 + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
jne 0x180099eec
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea rbx, [rax + rcx*8]
mov edi, dword [rbx + 8]
mov dword [r14 + 0x138], edi
mov eax, r15d
mov rbx, qword [rsp + 0x208]
mov rcx, qword [rbp + 0xa8]
xor rcx, rsp
call fcn.18015c7e0
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [r12 + 0x30]
mov r15, rbx
mov qword [rsp + 0x60], rbx
test rax, rax
je 0x18009a030
cmp byte [rax], 0x2c
mov qword [rsp + 0x60], rbx
jne 0x18009a030
test dword [r11 + 0x60], 0x8000
mov qword [rsp + 0x60], rbx
jne 0x18009a030
mov rax, qword [r14]
lea r13, [0x180095ea0]
add rax, 0x67
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], rax
lea rsi, [fcn.180006340]
mov qword [rsp + 0x60], rbx
mov r15d, 1
mov rax, qword [r12 + 0x28]
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x90], rdi
mov dword [rbp + 0x88], edi
test rax, rax
je 0x180099fb4
cmp dword [rax], edi
jle 0x180099fb4
test byte [rax + 0x44], 0x40
mov dword [rbp + 0x8c], 3
jne 0x180099fbb
mov dword [rbp + 0x8c], r15d
mov rdx, qword [r12 + 0x30]
lea rcx, [rbp + 0x70]
call fcn.180095c50
cmp dword [rbp + 0x80], edi
je 0x18009a018
mov rdx, qword [r12 + 0x30]
lea rax, [rbp + 0x70]
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x38], rax
test rdx, rdx
je 0x18009a000
lea rcx, [rbp + 0x10]
call fcn.180048390
mov rdx, qword [rbp + 0x90]
test rdx, rdx
je 0x18009a018
mov rcx, qword [rbp + 0x70]
mov rcx, qword [rcx]
call fcn.180006c50
cmp dword [rbp + 0x84], edi
jne 0x180099f82
mov rsi, qword [rbp - 0x58]
mov r15, rbx
mov r11, qword [rsp + 0x50]
test dword [r11 + 0x60], 0x201
jne 0x18009a062
mov rdx, r12
mov rcx, r14
call fcn.1800994d0
test eax, eax
je 0x18009a062
mov r11, qword [rsp + 0x50]
cmp byte [r11 + 0x67], dil
jne 0x180099ea4
mov r15, qword [r12 + 0x28]
mov qword [rsp + 0x60], r15
lea r9, [0x18020734d]
mov r13d, edi
mov dword [rsp + 0x44], edi
cmp dword [r15], edi
jle 0x18009a981
mov rax, rdi
mov qword [rbp - 0x70], rax
imul rax, rax, 0x68
lea rbx, [r15 + 8]
add rbx, rax
cmp qword [rbx + 0x50], 0
jne 0x18009a129
mov r8, qword [rbx + 0x10]
test r8, r8
je 0x18009a129
mov rcx, qword [r14]
mov r10, qword [rcx + 0x200]
test r10, r10
je 0x18009a129
cmp byte [rcx + 0xc5], 0
jne 0x18009a129
cmp byte [r14 + 0x12c], 0
jne 0x18009a129
mov rdx, qword [rbx + 8]
mov rax, qword [r14 + 0x170]
mov rcx, qword [rcx + 0x208]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
mov edx, setsockopt
call r10
cmp eax, 1
jne 0x18009a10b
lea rdx, str.not_authorized
mov rcx, r14
call fcn.18000aa70
mov dword [r14 + 0x18], reloc.WS2_32.dll_socket
jmp 0x18009a129
test eax, 0xfffffffd
je 0x18009a129
lea rdx, str.authorizer_malfunction
mov rcx, r14
call fcn.18000aa70
mov dword [r14 + 0x18], 1
mov r11, qword [rbx + 0x28]
mov qword [rsp + 0x68], r11
test r11, r11
je 0x18009a95e
mov rcx, r12
call fcn.18004d480
mov rcx, qword [rsp + 0x50]
add dword [r14 + 0x134], eax
test dword [rcx + 0x60], 0x1000
jne 0x18009a18d
test dword [rbx + 0x40], 0x100
je 0x18009a170
mov rax, qword [rbx + 0x60]
cmp byte [rax + 0x12], 0
je 0x18009a18d
cmp dword [rax], 2
jge 0x18009a18d
mov r8, qword [r12 + 0x30]
mov r9, r15
mov rdx, r11
mov dword [rsp + 0x20], r13d
mov rcx, r14
call fcn.180095f30
mov rcx, qword [rsp + 0x50]
test dword [rcx + 0x60], 0x4000000
jne 0x18009a2b5
test dword [rbx + 0x40], 0x108
jne 0x18009a2b5
mov rdx, qword [rbx + 0x28]
mov r8, qword [rbx + 0x20]
mov qword [rbp - 0x80], rdx
test byte [rdx + 4], 9
jne 0x18009a2b5
mov rax, rdx
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x18009a1d2
cmp byte [rax], 0x87
jne 0x18009a2b5
cmp qword [rax + 0x70], 0
jne 0x18009a2b5
mov rax, rcx
test rcx, rcx
jne 0x18009a1c0
mov rcx, qword [rdx + 0x48]
mov r10, qword [rbx + 0x50]
test rcx, rcx
je 0x18009a229
movsxd rdx, dword [rcx]
test rdx, rdx
jle 0x18009a229
add rcx, 0x20
nop
movzx eax, word [rcx]
test ax, ax
je 0x18009a21f
dec ax
cmp ax, 0x40
jb 0x18009a218
mov eax, 0x3f
jmp 0x18009a21b
movzx eax, ax
bts r10, rax
add rcx, 0x20
sub rdx, 1
jne 0x18009a200
movsx r13, word [r8 + 0x36]
mov r11d, edi
mov r15, rdi
test r13, r13
jle 0x18009a2b0
mov r8, rdi
mov r9d, 1
mov rdi, qword [rbp - 0x80]
movabs rsi, 0x8000000000000000
cmp r11d, 0x3f
mov rax, rsi
cmovb rax, r9
test r10, rax
jne 0x18009a298
mov rax, rdi
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rax + 0x20]
mov rdx, qword [rcx + r8 + 8]
cmp byte [rdx], 0x79
je 0x18009a28f
and dword [rdx + 4], 0xfff7dfff
mov byte [rdx], 0x79
or dword [rax + 4], 0x1000000
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x18009a270
inc r11d
rol r9, 1
inc r15
add r8, 0x20
cmp r15, r13
jl 0x18009a250
mov rsi, qword [rbp - 0x58]
xor edi, edi
mov r13d, dword [rsp + 0x44]
mov rax, qword [r14 + 0x170]
mov r15d, r13d
mov qword [rbp - 0x80], rax
mov rax, qword [rbx + 0x10]
mov qword [r14 + 0x170], rax
mov eax, dword [rbx + 0x40]
and eax, 0x100
mov dword [rbp - 0x50], eax
je 0x18009a2f9
mov rax, qword [rbx + 0x60]
movzx ecx, byte [rax + 0x12]
test cl, cl
je 0x18009a57e
cmp dword [rax], 2
jl 0x18009a2f9
cmp cl, 2
jne 0x18009a57e
mov rcx, qword [rsp + 0x60]
test byte [rcx + 0x44], 0x40
jne 0x18009a3d8
mov rax, qword [r14]
test dword [rax + 0x60], 0x2000000
jne 0x18009a3d8
mov r8d, dword [rsp + 0x44]
mov rdx, rbx
mov r13d, dword [rcx]
inc r8d
mov r9d, r13d
call fcn.180099360
test rax, rax
jne 0x18009a3ce
cmp qword [rbp - 0x70], rax
jne 0x18009a3a1
cmp r13d, 1
je 0x18009a35c
mov rcx, qword [rsp + 0x60]
test byte [rcx + 0xac], 2
jne 0x18009a35c
test dword [r12 + 4], 0x10000000
jne 0x18009a3d3
movsxd r13, dword [rsi + 0x90]
inc dword [r14 + 0x38]
mov edx, dword [r14 + 0x38]
mov dword [rbx + 0x34], edx
movsxd rcx, dword [rsi + 0x90]
lea r15d, [r13 + 1]
cmp dword [rsi + 0x94], ecx
jg 0x18009a437
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0xb]
call fcn.180033a50
jmp 0x18009a464
test dword [r12 + 4], 0x10000000
jne 0x18009a3ce
test byte [rbx + 0x3c], 0x22
lea rax, [rbx + 0x3c]
jne 0x18009a3ce
test r15d, r15d
je 0x18009a35c
sub rax, 0x68
dec r15d
cmp qword [rax - 0x14], 0
jne 0x18009a3ce
test byte [rax], 0x22
je 0x18009a3b6
mov rcx, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x44]
cmp dword [rbp - 0x50], 0
jne 0x18009a583
mov r9d, r13d
xor r8d, r8d
mov rdx, rbx
call fcn.180099360
mov r15, rax
test rax, rax
je 0x18009a709
mov edx, dword [rax + 0x30]
test edx, edx
je 0x18009a699
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [rax + 0x34]
cmp dword [rsi + 0x94], ecx
jg 0x18009a66c
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0xa
mov rcx, rsi
call fcn.180033a50
jmp 0x18009a699
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], rdi
mov eax, dword [rbx + 0x34]
lea r8, str.CO_ROUTINE___S
mov r9, rbx
mov dword [rbp + 0x74], eax
mov edx, 1
mov dword [rbx + 0x30], r15d
mov rcx, r14
mov byte [rbp + 0x70], reloc.WS2_32.dll_listen
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x88], rdi
mov dword [rbp + 0x80], edi
call fcn.1800340c0
mov r15, qword [rsp + 0x68]
lea r8, [rbp + 0x70]
mov rdx, r15
mov rcx, r14
call fcn.180099980
movzx eax, word [r15 + 2]
mov rcx, qword [rbx + 0x20]
mov word [rcx + 0x3a], ax
or dword [rbx + 0x40], 0x20
mov eax, dword [rbp + 0x7c]
mov edx, dword [rbx + 0x34]
mov dword [rbx + 0x38], eax
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009a4f3
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0x44]
call fcn.180033a50
jmp 0x18009a520
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x44
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rsi + 0x18]
mov byte [rax + 0x1f], 0
mov rax, qword [rsi + 0x18]
mov dword [rax + 0x28], edi
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], 0
je 0x18009a556
lea rax, [0x18024b8e0]
mov dword [rax + 8], edx
mov byte [r14 + 0x1f], 0
mov dword [r14 + 0x28], edi
jmp 0x18009a92a
mov rax, qword [rsi + 0x88]
lea rcx, [r13*2]
add rcx, r13
mov dword [rax + rcx*8 + 8], edx
mov byte [r14 + 0x1f], 0
lea rax, [rax + rcx*8]
mov dword [r14 + 0x28], edi
jmp 0x18009a92a
mov rcx, qword [rsp + 0x60]
mov r15, qword [rbx + 0x60]
mov edx, dword [r15 + 4]
test edx, edx
jle 0x18009a3e2
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [r15 + 8]
cmp dword [rsi + 0x94], ecx
jg 0x18009a5bc
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0xa
mov rcx, rsi
call fcn.180033a50
jmp 0x18009a5e9
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov edx, dword [r15 + 0xc]
mov r8d, dword [rbx + 0x44]
cmp r8d, edx
je 0x18009a659
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009a62c
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, reloc.WS2_32.dll_WSAStartup
mov rcx, rsi
call fcn.180033a50
mov rdx, qword [rsp + 0x68]
movzx eax, word [r15 + 0x10]
mov word [rdx + 2], ax
jmp 0x18009a92a
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], reloc.WS2_32.dll_WSAStartup
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rdx, qword [rsp + 0x68]
movzx eax, word [r15 + 0x10]
mov word [rdx + 2], ax
jmp 0x18009a92a
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r15 + 0x44]
mov r8d, dword [rbx + 0x44]
cmp dword [rsi + 0x94], ecx
jg 0x18009a6c6
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, reloc.WS2_32.dll_WSAStartup
mov rcx, rsi
call fcn.180033a50
jmp 0x18009a6f3
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], reloc.WS2_32.dll_WSAStartup
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [r15 + 0x28]
mov rdx, qword [rsp + 0x68]
movzx ecx, word [rax + 2]
mov word [rdx + 2], cx
jmp 0x18009a92a
inc dword [r14 + 0x38]
mov r15d, edi
mov eax, dword [r14 + 0x38]
mov dword [rbx + 0x34], eax
movsxd r13, dword [rsi + 0x90]
cmp dword [rsi + 0x94], r13d
jg 0x18009a742
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 9]
call fcn.180033a50
mov r13d, eax
jmp 0x18009a774
lea eax, [r13 + 1]
mov dword [rsi + 0x90], eax
lea rcx, [r13*2]
mov rax, qword [rsi + 0x88]
add rcx, r13
mov qword [rax + rcx*8], 9
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
or dword [rbx + 0x40], 0x10
lea eax, [r13 + 1]
test byte [rbx + 0x40], 8
mov dword [rbx + 0x30], eax
jne 0x18009a7db
movsxd r15, dword [rsi + 0x90]
cmp dword [rsi + 0x94], r15d
jg 0x18009a7b0
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0xf]
call fcn.180033a50
mov r15d, eax
jmp 0x18009a7db
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], reloc.WS2_32.dll_ntohs
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov eax, dword [rbx + 0x44]
lea r8, str.MATERIALIZE___S
mov r9, rbx
mov dword [rbp + 0x74], eax
mov edx, 1
mov byte [rbp + 0x70], listen
mov rcx, r14
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x88], rdi
mov dword [rbp + 0x80], edi
call fcn.1800340c0
mov rdx, qword [rsp + 0x68]
lea r8, [rbp + 0x70]
mov rcx, r14
call fcn.180099980
mov r9, qword [rsp + 0x68]
mov rcx, qword [rbx + 0x20]
movzx eax, word [r9 + 2]
mov word [rcx + 0x3a], ax
test r15d, r15d
je 0x18009a866
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], 0
je 0x18009a851
lea rax, [0x18024b8e0]
jmp 0x18009a863
movsxd rax, r15d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [rbx + 0x34]
cmp dword [rsi + 0x94], ecx
jg 0x18009a895
lea r9d, [r13 + 1]
mov dword [rsp + 0x20], edi
mov edx, 0x43
mov rcx, rsi
call fcn.180033a50
mov r9, qword [rsp + 0x68]
jmp 0x18009a8c6
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
lea edx, [r13 + 1]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], 0
je 0x18009a8de
lea rax, [0x18024b8e0]
jmp 0x18009a8f0
movsxd rax, r13d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov byte [r14 + 0x1f], 0
mov dword [r14 + 0x28], edi
mov eax, dword [rbx + 0x40]
and eax, 0x108
cmp eax, 0x100
jne 0x18009a92a
mov eax, dword [rbx + 0x30]
mov rcx, qword [rbx + 0x60]
mov dword [rcx + 4], eax
mov eax, dword [rbx + 0x34]
mov dword [rcx + 8], eax
mov eax, dword [rbx + 0x44]
mov dword [rcx + 0xc], eax
movzx eax, word [r9 + 2]
mov word [rcx + 0x10], ax
mov r11, qword [rsp + 0x50]
cmp byte [r11 + 0x67], 0
jne 0x180099ea4
mov rcx, r12
call fcn.18004d480
sub dword [r14 + 0x134], eax
mov rax, qword [rbp - 0x80]
mov r13d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x60]
mov qword [r14 + 0x170], rax
mov rax, qword [rbp - 0x70]
lea r9, [0x18020734d]
inc rax
inc r13d
mov dword [rsp + 0x44], r13d
mov qword [rbp - 0x70], rax
cmp r13d, dword [r15]
jl 0x18009a080
mov rax, qword [r12 + 0x30]
mov ecx, dword [r12 + 4]
mov r9, qword [r12 + 0x20]
mov qword [rbp - 0x50], rax
mov rax, qword [r12 + 0x38]
mov qword [rsp + 0x68], rax
mov rax, qword [r12 + 0x40]
mov qword [rbp - 0x70], rax
movzx eax, byte [r12 + 4]
and al, 1
mov qword [rbp - 0x48], r9
mov byte [rbp], al
mov eax, ecx
and al, 9
cmp al, 1
jne 0x18009aa75
mov rdx, qword [rbp + 0x40]
mov qword [rbp - 0x80], rdx
test rdx, rdx
jne 0x18009a9da
test r9, r9
jne 0x18009aa75
jmp 0x18009aa41
test r9, r9
je 0x18009aa75
mov rax, qword [rbp + 0x40]
mov r8d, dword [rax]
cmp r8d, dword [r9]
jne 0x18009aa75
mov r13d, edi
test r8d, r8d
jle 0x18009aa41
lea rbx, [rdx + 8]
lea r15, [r9 + 8]
movzx eax, byte [r15 + 0x10]
cmp byte [rbx + 0x10], al
jne 0x18009aa75
mov r8, qword [r15]
mov r9d, 0xffffffff
mov rdx, qword [rbx]
xor ecx, ecx
call fcn.180057980
test eax, eax
jne 0x18009aa75
mov rax, qword [rbp - 0x80]
inc r13d
add r15, 0x20
add rbx, 0x20
cmp r13d, dword [rax]
jl 0x18009aa03
mov ecx, dword [r12 + 4]
mov r9, qword [rbp - 0x48]
cmp qword [r12 + 0x70], 0
jne 0x18009aa75
and ecx, 0xfffffffe
xor r8d, r8d
mov dword [r12 + 4], ecx
mov rdx, r9
mov rcx, qword [rsp + 0x50]
call fcn.18004e8a0
or dword [r12 + 4], 8
mov qword [rsp + 0x68], rax
mov qword [r12 + 0x38], rax
mov byte [rbp], 2
mov rcx, qword [rbp + 0x40]
mov r13, qword [rbp - 0x48]
test rcx, rcx
je 0x18009ab23
mov r9d, dword [r13]
mov rdx, rcx
mov rcx, r14
xor r8d, r8d
call fcn.18008f0e0
mov r8d, dword [r14 + 0x34]
mov r15, rax
mov dword [rbp + 0x4c], r8d
lea ecx, [r8 + 1]
mov dword [r14 + 0x34], ecx
mov rcx, qword [rbp + 0x40]
mov r9d, dword [r13]
movsxd rbx, dword [rsi + 0x90]
inc r9d
add r9d, dword [rcx]
cmp dword [rsi + 0x94], ebx
jg 0x18009aadd
mov edx, 0x76
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.180033a50
mov ebx, eax
jmp 0x18009ab0b
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov r9d, 0xfffffff8
mov r8, r15
mov edx, ebx
mov rcx, rsi
call fcn.180034830
mov dword [rbp + 0x58], ebx
jmp 0x18009ab2a
mov dword [rbp + 0x58], 0xffffffff
mov rax, qword [rbp - 0x30]
cmp byte [rax], 0xc
jne 0x18009ac28
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r13]
mov r8d, dword [rax + 4]
cmp dword [rsi + 0x94], ecx
jg 0x18009ab64
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x76
mov rcx, rsi
call fcn.180033a50
jmp 0x18009ab91
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
test dword [r12 + 4], 0x800
je 0x18009ac28
mov ecx, dword [r13]
lea eax, [rcx - 1]
movsxd r15, eax
test eax, eax
jle 0x18009ac06
mov r12, qword [rsp + 0x50]
mov rbx, r15
shl rbx, 5
nop word [rax + rax]
test byte [rbx + r13 + 0x1c], 0x40
jne 0x18009ac02
mov rdx, qword [rbx + r13 + 8]
test rdx, rdx
je 0x18009abda
mov rcx, r12
call fcn.18004e140
mov rdx, qword [rbx + r13 + 0x10]
test rdx, rdx
je 0x18009abec
mov rcx, r12
call fcn.180006c50
mov ecx, dword [r13]
dec r15
dec ecx
sub rbx, 0x20
mov dword [r13], ecx
test r15, r15
jg 0x18009abc0
mov r12, qword [rbp - 0x20]
mov edx, edi
test ecx, ecx
jle 0x18009ac28
lea rcx, [r13 + 8]
test byte [rcx + 0x14], 0x40
jne 0x18009ac1c
mov rax, qword [rcx]
mov byte [rax], 0x79
inc edx
add rcx, 0x20
cmp edx, dword [r13]
jl 0x18009ac10
mov eax, dword [r14 + 0x44]
mov r13d, 0x4000
dec eax
mov dword [r14 + 0x44], eax
mov dword [rbp - 0x18], eax
test dword [r12 + 4], r13d
jne 0x18009ac4d
mov ecx, 0x140
mov word [r12 + 2], cx
cmp qword [r12 + 0x60], 0
je 0x18009ac63
mov r8d, eax
mov rdx, r12
mov rcx, r14
call fcn.180090d00
cmp dword [r12 + 8], 0
jne 0x18009ac9d
cmp dword [rbp + 0x58], 0
jl 0x18009ac9d
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
je 0x18009ac83
lea rax, [0x18024b8e0]
jmp 0x18009ac96
movsxd rax, dword [rbp + 0x58]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov byte [rax], 0x77
or byte [rbp + 0x64], 1
test byte [r12 + 4], 1
je 0x18009ad61
mov eax, dword [r14 + 0x34]
xor r9d, r9d
mov dword [rbp + 4], eax
xor r8d, r8d
inc eax
mov rcx, r14
mov dword [r14 + 0x34], eax
mov rdx, qword [r12 + 0x20]
call fcn.18008f0e0
movsxd rbx, dword [rsi + 0x90]
mov r15, rax
mov edx, dword [rbp + 4]
cmp dword [rsi + 0x94], ebx
jg 0x18009acf8
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0x76]
call fcn.180033a50
mov ebx, eax
jmp 0x18009ad25
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov r9d, 0xfffffff8
mov r8, r15
mov edx, ebx
mov rcx, rsi
call fcn.180034830
mov dword [rbp + 8], ebx
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x18009ad5b
lea rcx, [rax + rax*2]
mov edx, 8
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov byte [rbp + 1], 3
jmp 0x18009ad65
mov byte [rbp + 1], 0
cmp dword [rsp + 0x58], 0
mov r15, qword [rsp + 0x68]
jne 0x18009b087
test r15, r15
jne 0x18009b087
movzx eax, byte [rbp]
neg al
movzx eax, word [r12 + 4]
sbb bx, bx
and ax, r13w
mov r13, qword [r12 + 0x70]
and bx, 0x100
or bx, ax
test r13, r13
je 0x18009adae
mov rdx, r12
mov rcx, r14
call fcn.1800bfa70
movsx eax, word [r12 + 2]
mov rcx, r14
mov r9, qword [rbp + 0x40]
mov r8, qword [rbp - 0x50]
mov rdx, qword [rsp + 0x60]
mov dword [rsp + 0x38], eax
mov rax, qword [r12 + 0x20]
mov word [rsp + 0x30], bx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.1800bb1a0
mov r15, rax
test rax, rax
je 0x180099e9f
movzx eax, word [rax + 0x48]
cmp ax, word [r12 + 2]
jge 0x18009adff
mov word [r12 + 2], ax
cmp byte [rbp], 0
je 0x18009ae16
movzx ecx, byte [r15 + 0x43]
movzx eax, byte [rbp + 1]
test cl, cl
cmovne eax, ecx
mov byte [rbp + 1], al
mov rdx, qword [rbp + 0x40]
test rdx, rdx
je 0x18009ae73
movsx eax, byte [r15 + 0x41]
test al, al
jns 0x18009ae30
mov r8d, edi
mov dword [rbp + 0x48], edi
jmp 0x18009ae36
mov r8d, eax
mov dword [rbp + 0x48], eax
test byte [r15 + 0x44], 4
jne 0x18009ae43
mov eax, dword [r15 + 0x30]
jmp 0x18009ae65
movzx eax, byte [r15 + 0x40]
imul rcx, rax, 0x70
cmp qword [rcx + r15 + 0x328], 0
je 0x18009ae5d
mov eax, dword [r15 + 0x30]
jmp 0x18009ae65
mov eax, dword [rcx + r15 + 0x300]
mov dword [rbp + 0x60], eax
cmp r8d, dword [rdx]
cmove rdx, rdi
mov qword [rbp + 0x40], rdx
movsxd rax, dword [rbp + 0x58]
test eax, eax
js 0x18009aeaf
test rdx, rdx
jne 0x18009aeaf
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], dl
jne 0x18009aeaf
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.180034610
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
mov rdx, r12
test r13, r13
je 0x18009b042
mov r13d, dword [r14 + 0x44]
mov r8, r15
inc dword [r14 + 0x38]
lea ecx, [r13 - 1]
sub r13d, 2
mov dword [rbp - 0x50], ecx
mov dword [rsp + 0x20], ecx
mov rcx, r14
lea eax, [r13 - 1]
mov dword [rsp + 0x58], eax
mov dword [r14 + 0x44], eax
mov eax, dword [r14 + 0x38]
mov r9d, eax
mov dword [rsp + 0x74], eax
call fcn.1800c3a70
movsxd rcx, dword [rsi + 0x90]
mov r15d, dword [rsp + 0x58]
cmp dword [rsi + 0x94], ecx
jg 0x18009af20
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, r15d
mov rcx, rsi
lea edx, [r8 + 9]
call fcn.180033a50
jmp 0x18009af4a
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov r9, qword [rsi + 0x18]
lea rbx, [rsi + 0x18]
mov ecx, dword [rbp - 0x50]
not ecx
mov eax, dword [r9 + 0x48]
add eax, dword [r9 + 0x44]
jns 0x18009af71
mov r8d, ecx
mov rdx, rsi
mov rcx, r9
call fcn.1800342e0
jmp 0x18009af81
mov eax, dword [rsi + 0x90]
movsxd rdx, ecx
mov rcx, qword [r9 + 0x50]
mov dword [rcx + rdx*4], eax
mov rax, qword [rbp - 0x30]
lea r9, [rbp + 0x40]
mov dword [rsp + 0x38], r15d
mov r8d, 0xffffffff
mov dword [rsp + 0x30], r13d
mov rdx, r12
mov qword [rsp + 0x28], rax
mov rcx, r14
lea rax, [rbp]
mov dword [rbp + 0x60], edi
mov qword [rsp + 0x20], rax
call fcn.18008dea0
mov rcx, qword [rbx]
not r13d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x18009afd0
mov r8d, r13d
mov rdx, rsi
call fcn.1800342e0
jmp 0x18009afe0
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, r13d
mov dword [rcx + rdx*4], eax
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009b00c
mov r8d, dword [rsp + 0x74]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x43]
call fcn.180033a50
jmp 0x18009ccc1
mov edx, dword [rsp + 0x74]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x18009ccc1
mov eax, dword [r15 + 0x34]
lea r9, [rbp + 0x40]
mov dword [rsp + 0x38], eax
mov r8d, 0xffffffff
mov eax, dword [r15 + 0x30]
mov rcx, r14
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
call fcn.18008dea0
mov rcx, r15
call fcn.1800bc210
lea rbx, [rsi + 0x18]
jmp 0x18009ccec
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x74], edi
test r15, r15
je 0x18009b1f9
mov rcx, qword [r12 + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x18009b0bd
add rcx, 0x22
nop dword [rax + rax]
dec eax
mov word [rcx], di
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x18009b0b0
mov eax, dword [r15]
lea r13, [r15 + 8]
test eax, eax
jle 0x18009b0dd
lea rcx, [r13 + 0x1a]
nop dword [rax]
dec eax
mov word [rcx], di
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x18009b0d0
cmp word [r12 + 2], 0x42
jle 0x18009b0f1
mov eax, 0x42
mov word [r12 + 2], ax
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x18009b1a4
mov eax, dword [r15]
cmp eax, dword [rcx]
jne 0x18009b1a4
mov r8d, edi
test eax, eax
jle 0x18009b140
mov rdx, rdi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + 0x40]
lea rdx, [rdx + 0x20]
inc r8d
movzx ecx, byte [rdx + rax - 8]
and cl, 1
mov byte [r15 + rdx - 8], cl
mov eax, dword [r15]
cmp r8d, eax
jl 0x18009b120
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x18009b1a4
cmp eax, dword [rcx]
jne 0x18009b1a4
mov r15d, edi
test eax, eax
jle 0x18009b197
lea rbx, [rcx + 8]
nop dword [rax + rax]
movzx eax, byte [rbx + 0x10]
cmp byte [r13 + 0x10], al
jne 0x18009b19f
mov r8, qword [rbx]
mov r9d, 0xffffffff
mov rdx, qword [r13]
xor ecx, ecx
call fcn.180057980
test eax, eax
jne 0x18009b19f
mov rax, qword [rsp + 0x68]
inc r15d
add rbx, 0x20
add r13, 0x20
cmp r15d, dword [rax]
jl 0x18009b160
mov dword [rsp + 0x74], 1
mov r15, qword [rsp + 0x68]
dec dword [r14 + 0x44]
mov edx, 0x38
mov eax, dword [r14 + 0x44]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x78], eax
call fcn.180007150
mov qword [rbp - 0x28], rax
mov r13, rax
test rax, rax
je 0x18009b265
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r13], xmm0
movups xmmword [r13 + 0x10], xmm0
movups xmmword [r13 + 0x20], xmm0
mov qword [r13 + 0x30], rax
mov rcx, qword [r14]
test rcx, rcx
je 0x18009b201
lea edx, [rax + 0x18]
call fcn.180007150
jmp 0x18009b20b
mov word [r12 + 2], di
jmp 0x18009b1a4
mov ecx, 0x18
call fcn.180006980
mov rcx, rax
test rax, rax
je 0x18009b235
mov rax, qword [r14 + 0xc0]
mov qword [rcx], rax
lea rax, [0x180099480]
mov qword [r14 + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r13
jmp 0x18009b265
mov rdx, qword [r13 + 0x18]
mov rbx, qword [r14]
test rdx, rdx
je 0x18009b249
mov rcx, rbx
call fcn.180006c50
mov rdx, qword [r13 + 0x28]
test rdx, rdx
je 0x18009b25a
mov rcx, rbx
call fcn.180006c50
mov rdx, r13
mov rcx, rbx
call fcn.180006c50
mov r11, qword [rsp + 0x50]
cmp byte [r11 + 0x67], 0
jne 0x180099ea4
mov eax, dword [r12 + 0x10]
xorps xmm0, xmm0
mov rcx, qword [rsp + 0x60]
xorps xmm1, xmm1
mov dword [r13 + 0x34], eax
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], rcx
mov qword [rbp + 0x80], r13
movdqu xmmword [rbp + 0x88], xmm0
movdqu xmmword [rbp + 0x98], xmm1
test r15, r15
je 0x18009b2b2
mov eax, dword [r15]
jmp 0x18009b2b4
mov eax, edi
mov word [r13 + 2], ax
mov rax, qword [rbp - 0x48]
mov qword [r13 + 0x10], r15
test rax, rax
je 0x18009b338
cmp dword [rax], 0
lea rbx, [rax + 8]
mov r15d, edi
jle 0x18009b338
lea rsi, [0x180058890]
lea r12, [0x1800487a0]
lea r13, [0x1800487b0]
nop word [rax + rax]
mov rdx, qword [rbx]
lea rcx, [rbp + 0x70]
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r13
mov dword [rbp + 0x30], edi
mov qword [rbp + 0x38], rcx
mov qword [rbp + 0x10], rdi
test rdx, rdx
je 0x18009b320
lea rcx, [rbp + 0x10]
call fcn.180048390
mov rax, qword [rbp - 0x48]
inc r15d
add rbx, 0x20
cmp r15d, dword [rax]
jl 0x18009b2f0
mov rsi, qword [rbp - 0x58]
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 0x28]
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x18009b3b8
cmp dword [rax], 0
lea rbx, [rax + 8]
mov r15d, edi
jle 0x18009b3b8
lea rsi, [0x180058890]
lea r12, [0x1800487a0]
lea r13, [0x1800487b0]
nop word [rax + rax]
mov rdx, qword [rbx]
lea rcx, [rbp + 0x70]
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r13
mov dword [rbp + 0x30], edi
mov qword [rbp + 0x38], rcx
mov qword [rbp + 0x10], rdi
test rdx, rdx
je 0x18009b3a0
lea rcx, [rbp + 0x10]
call fcn.180048390
mov rax, qword [rbp - 0x80]
inc r15d
add rbx, 0x20
cmp r15d, dword [rax]
jl 0x18009b370
mov rsi, qword [rbp - 0x58]
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x70]
mov rbx, qword [rsp + 0x68]
test rcx, rcx
je 0x18009b44a
test rbx, rbx
je 0x18009b40e
mov rdx, qword [r12 + 0x40]
lea rax, [0x180099130]
mov qword [rbp + 0x30], rdi
xorps xmm0, xmm0
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x38], r12
movdqu xmmword [rbp + 0x20], xmm0
test rdx, rdx
je 0x18009b405
lea rcx, [rbp + 0x10]
call fcn.180048390
mov rcx, qword [rbp - 0x70]
mov rax, qword [r12 + 0x30]
mov qword [rbp - 0x50], rax
lea rax, [0x180058890]
mov dword [rbp + 0x30], edi
mov qword [rbp + 0x18], rax
mov rdx, rcx
lea rax, [0x1800487a0]
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x20], rax
lea rcx, [rbp + 0x10]
lea rax, [0x1800487b0]
mov qword [rbp + 0x28], rax
lea rax, [rbp + 0x70]
mov qword [rbp + 0x38], rax
call fcn.180048390
mov eax, dword [r13 + 0x20]
mov dword [r13 + 0x24], eax
cmp qword [r12 + 0x38], 0
jne 0x18009b484
cmp qword [r12 + 0x40], 0
jne 0x18009b484
cmp dword [r13 + 0x30], 1
jne 0x18009b484
mov rdx, qword [r13 + 0x28]
lea r8, [rbp - 0x10]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rdx]
call fcn.180096270
mov byte [rsp + 0x44], al
jmp 0x18009b489
mov byte [rsp + 0x44], 0
lea rdx, [rbp + 0x70]
mov rcx, r13
call fcn.180098700
mov r11, qword [rsp + 0x50]
cmp byte [r11 + 0x67], 0
jne 0x180099ea4
test rbx, rbx
je 0x18009c604
cmp dword [r13 + 0x30], 1
mov r15, rdi
mov qword [rbp - 0x40], rdi
mov word [rsp + 0x44], di
jne 0x18009b5ad
mov rax, qword [r13 + 0x28]
cmp dword [rax + 0x10], 0
jl 0x18009b5ad
mov rax, qword [rax]
test rax, rax
je 0x18009b5ad
test dword [rax + 4], 0x1000
jne 0x18009b5ad
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x18009b5ad
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x18009b51a
xor r9d, r9d
xor r8d, r8d
mov rcx, r11
call fcn.18004e3a0
mov r11, qword [rsp + 0x50]
mov rbx, rax
jmp 0x18009b51d
mov rbx, rdi
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
mov rcx, r11
call fcn.18004e8a0
mov qword [rbp - 0x40], rax
mov r15, rax
test rax, rax
jne 0x18009b54d
mov rcx, qword [r14]
mov rdx, rbx
call fcn.18004f460
mov r15, rax
mov qword [rbp - 0x40], rax
jmp 0x18009b596
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [r15 + 4], ecx
jge 0x18009b570
mov rcx, qword [r14]
mov r8, rbx
mov rdx, r15
call fcn.18004f540
mov r15, rax
mov qword [rbp - 0x40], rax
jmp 0x18009b596
movups xmm0, xmmword [0x18020f180]
shl rax, 5
movups xmm1, xmmword [0x18020f190]
mov dword [r15], ecx
movups xmmword [rax + r15 + 8], xmm0
movups xmmword [rax + r15 + 0x18], xmm1
mov qword [rax + r15 + 8], rbx
mov rbx, qword [rsp + 0x68]
mov rax, r15
neg rax
sbb ax, ax
and ax, 0x500
mov word [rsp + 0x44], ax
mov eax, dword [r14 + 0x34]
xor r8d, r8d
mov dword [r13 + 4], eax
mov rdx, rbx
inc dword [r14 + 0x34]
mov rcx, r14
mov r9d, dword [r13 + 0x20]
call fcn.18008f0e0
movsxd r10, dword [rsi + 0x90]
mov rbx, rax
movzx edx, word [r13 + 2]
mov r8d, dword [r13 + 4]
mov qword [rbp - 8], rax
mov dword [rbp - 0x58], r10d
cmp dword [rsi + 0x94], r10d
jg 0x18009b60b
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x77
mov rcx, rsi
call fcn.180033a50
mov r10d, eax
mov dword [rbp - 0x58], eax
jmp 0x18009b639
lea rcx, [r10 + r10*2]
lea eax, [r10 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x77
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov r9d, 0xfffffff8
mov r8, rbx
mov edx, r10d
mov rcx, rsi
call fcn.180034830
mov eax, dword [r14 + 0x38]
mov r9, qword [rsp + 0x68]
inc eax
mov dword [rbp - 0x38], eax
lea edx, [rax + 1]
mov eax, dword [r14 + 0x44]
lea ecx, [rdx + 2]
mov dword [rsp + 0x40], edx
mov dword [r14 + 0x38], ecx
lea r8d, [rcx + 1]
dec eax
mov dword [rbp - 0x78], ecx
mov dword [rbp - 0x5c], eax
mov dword [rbp - 0x64], r8d
lea ebx, [rax - 1]
mov dword [r14 + 0x44], ebx
add ecx, dword [r9]
mov dword [r14 + 0x38], ecx
mov dword [rsp + 0x58], ebx
lea eax, [rcx + 1]
add ecx, dword [r9]
mov dword [r14 + 0x38], ecx
movsxd rcx, dword [rsi + 0x90]
mov dword [rbp - 0x68], eax
cmp dword [rsi + 0x94], ecx
jg 0x18009b6cc
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0x47]
call fcn.180033a50
mov r8d, dword [rbp - 0x64]
mov r9, qword [rsp + 0x68]
jmp 0x18009b6f5
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov edx, dword [r9]
movsxd rcx, dword [rsi + 0x90]
dec edx
add edx, r8d
cmp dword [rsi + 0x94], ecx
jg 0x18009b724
mov r9d, r8d
mov dword [rsp + 0x20], edx
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 0x4b]
call fcn.180033a50
jmp 0x18009b74e
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009b777
mov r8d, dword [rbp - 0x78]
mov r9d, ebx
mov edx, 0xa
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.180033a50
jmp 0x18009b7a6
mov edx, dword [rbp - 0x78]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov eax, dword [rsp + 0x74]
mov edx, 0x80
mov r9, qword [rsp + 0x68]
neg eax
mov r8, qword [rbp - 0x50]
mov eax, 0x40
sbb cx, cx
mov dword [rsp + 0x38], edi
and cx, 0x200
cmp byte [rbp], 2
cmove ax, dx
mov rdx, qword [rsp + 0x60]
or cx, ax
or cx, word [rsp + 0x44]
mov word [rsp + 0x30], cx
mov rcx, r14
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r15
call fcn.1800bb1a0
mov qword [rbp - 0x28], rax
mov rbx, rax
test rax, rax
jne 0x18009b81e
test r15, r15
je 0x180099e9f
mov rcx, qword [rsp + 0x50]
mov rdx, r15
call fcn.18004fa90
jmp 0x180099e9f
cmp qword [r14 + 0x60], 0
je 0x18009b87a
cmp word [r13 + 2], 0
mov r9d, dword [r13 + 0x24]
mov dword [r13 + 0x20], r9d
jbe 0x18009b86e
mov rax, qword [r12 + 0x38]
mov r8d, edi
mov ecx, dword [rax]
dec ecx
test r9d, r9d
jle 0x18009b866
mov rdx, qword [r13 + 0x18]
add rdx, 0x16
nop
movsx eax, word [rdx]
lea rdx, [rdx + 0x18]
cmp eax, ecx
cmovle eax, ecx
inc r8d
mov ecx, eax
cmp r8d, r9d
jl 0x18009b850
inc cx
mov word [r13 + 2], cx
lea rdx, [rbp + 0x70]
mov rcx, r13
call fcn.180098700
mov eax, dword [r14 + 0x38]
mov ecx, edi
inc eax
mov dword [r13 + 0xc], eax
mov eax, dword [r13 + 0x20]
add eax, dword [r13 + 0x30]
add dword [r14 + 0x38], eax
movzx eax, byte [rbx + 0x43]
movsx edx, byte [rbx + 0x41]
test dl, dl
mov dword [rbp - 0x50], eax
mov rax, qword [rsp + 0x68]
cmovns ecx, edx
cmp ecx, dword [rax]
jne 0x18009b8b3
mov dword [rbp - 0x60], edi
jmp 0x18009bc56
cmp byte [rbp], 0
je 0x18009b8c8
test byte [r12 + 4], 1
lea r9, str.DISTINCT
je 0x18009b8cf
lea r9, str.GROUP_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, r14
call fcn.1800340c0
mov r10, qword [rsp + 0x68]
mov eax, dword [r13 + 0x20]
mov dword [rbp - 0x60], 1
mov edx, dword [r10]
mov ebx, edx
mov dword [rsp + 0x60], edx
test eax, eax
jle 0x18009b930
mov r8, qword [r13 + 0x18]
mov r9d, eax
add r8, 0x16
nop dword [rax + rax]
movsx ecx, word [r8]
lea eax, [rbx + 1]
cmp ecx, edx
lea r8, [r8 + 0x18]
cmovl eax, ebx
mov ebx, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x18009b910
cmp ebx, 1
jne 0x18009b966
movzx eax, byte [r14 + 0x1f]
lea r15, [r14 + 0x1f]
test al, al
jne 0x18009b950
inc dword [r14 + 0x38]
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x48], eax
jmp 0x18009b99a
dec al
movzx eax, al
mov byte [r15], al
mov eax, dword [r14 + rax*4 + 0xe0]
mov dword [rsp + 0x48], eax
jmp 0x18009b99a
mov edx, dword [r14 + 0x28]
mov ecx, dword [r14 + 0x2c]
mov dword [rsp + 0x48], ecx
cmp ebx, edx
jg 0x18009b985
lea eax, [rbx + rcx]
sub edx, ebx
mov dword [r14 + 0x2c], eax
mov dword [r14 + 0x28], edx
jmp 0x18009b996
mov eax, dword [r14 + 0x38]
lea ecx, [rax + 1]
add eax, ebx
mov dword [r14 + 0x38], eax
mov dword [rsp + 0x48], ecx
lea r15, [r14 + 0x1f]
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov rdx, r10
mov byte [rsp + 0x20], 0
mov rcx, r14
call fcn.1800568a0
cmp dword [r13 + 0x20], 0
mov r8d, edi
mov byte [r13], 1
mov dword [rsp + 0x70], edi
jle 0x18009ba33
mov r12d, dword [rsp + 0x60]
mov rcx, rdi
mov edi, dword [rsp + 0x48]
mov qword [rbp - 0x80], rcx
nop word [rax + rax]
mov rdx, qword [r13 + 0x18]
movsx eax, word [rdx + rcx + 0x16]
cmp eax, r12d
jl 0x18009ba10
mov rdx, qword [rdx + rcx + 8]
lea r8d, [rdi + r12]
mov rcx, r14
call fcn.1800566e0
mov rcx, qword [rbp - 0x80]
inc r12d
mov r8d, dword [rsp + 0x70]
mov rax, r15
jmp 0x18009ba14
lea rax, [r14 + 0x1f]
inc r8d
add rcx, 0x18
mov dword [rsp + 0x70], r8d
mov qword [rbp - 0x80], rcx
cmp r8d, dword [r13 + 0x20]
jl 0x18009b9e0
mov r12, qword [rbp - 0x20]
mov r15, rax
xor edi, edi
mov byte [r13], 0
movzx eax, byte [r15]
test al, al
jne 0x18009ba4a
inc dword [r14 + 0x38]
mov edx, dword [r14 + 0x38]
jmp 0x18009ba5a
dec al
movzx eax, al
mov byte [r15], al
mov edx, dword [r14 + rax*4 + 0xe0]
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [rsp + 0x48]
mov dword [rsp + 0x70], edx
cmp dword [rsi + 0x94], ecx
jg 0x18009ba8c
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov edx, 0x61
mov rcx, rsi
call fcn.180033a50
mov edx, dword [rsp + 0x70]
jmp 0x18009bab9
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [r13 + 4]
cmp dword [rsi + 0x94], ecx
jg 0x18009bae6
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x8b
mov rcx, rsi
call fcn.180033a50
mov edx, dword [rsp + 0x70]
jmp 0x18009bb13
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x8b
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
test edx, edx
je 0x18009bb2a
movzx eax, byte [r15]
cmp al, 8
jae 0x18009bb2a
mov dword [r14 + rax*4 + 0xe0], edx
inc byte [r15]
cmp ebx, 1
jne 0x18009bb4c
mov ecx, dword [rsp + 0x48]
test ecx, ecx
je 0x18009bb5e
movzx eax, byte [r15]
cmp al, 8
jae 0x18009bb5e
mov dword [r14 + rax*4 + 0xe0], ecx
inc byte [r15]
jmp 0x18009bb5e
cmp ebx, dword [r14 + 0x28]
jle 0x18009bb5e
mov eax, dword [rsp + 0x48]
mov dword [r14 + 0x2c], eax
mov dword [r14 + 0x28], ebx
mov rcx, qword [rbp - 0x28]
call fcn.1800bc210
mov edx, dword [r14 + 0x34]
mov dword [r13 + 8], edx
inc dword [r14 + 0x34]
movzx eax, byte [r15]
mov dword [rsp + 0x48], edx
test al, al
jne 0x18009bb89
inc dword [r14 + 0x38]
mov r8d, dword [r14 + 0x38]
jmp 0x18009bb99
dec al
movzx eax, al
mov byte [r15], al
mov r8d, dword [r14 + rax*4 + 0xe0]
movsxd rcx, dword [rsi + 0x90]
mov dword [rsp + 0x70], r8d
cmp dword [rsi + 0x94], ecx
jg 0x18009bbc6
mov r9d, r8d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, rsi
mov edx, 0x79
call fcn.180033a50
jmp 0x18009bbf3
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x79
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], rdi
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r13 + 4]
cmp dword [rsi + 0x94], ecx
jg 0x18009bc21
mov r9d, dword [rsp + 0x78]
mov r8d, edx
mov edx, 0x22
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.180033a50
jmp 0x18009bc51
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x78]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x22
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov byte [r13 + 1], 1
cmp qword [r14 + 0x60], 0
je 0x18009bcb3
cmp dword [r13 + 0x30], 0
lea rax, [0x180098810]
xorps xmm0, xmm0
mov qword [rbp + 0x18], rax
xorps xmm1, xmm1
mov qword [rbp + 0x10], rdi
movdqu xmmword [rbp + 0x20], xmm0
mov r15d, edi
movdqu xmmword [rbp + 0x30], xmm1
jle 0x18009bcb3
mov rbx, rdi
nop dword [rax]
mov rax, qword [r13 + 0x28]
mov rdx, qword [rbx + rax]
test rdx, rdx
je 0x18009bca6
lea rcx, [rbp + 0x10]
call fcn.180048390
inc r15d
add rbx, 0x18
cmp r15d, dword [r13 + 0x30]
jl 0x18009bc90
cmp dword [rsp + 0x74], 0
je 0x18009bd0d
mov rax, qword [rsp + 0x50]
test byte [rax + 0x60], 4
jne 0x18009bd0d
cmp dword [rbp - 0x60], 0
jne 0x18009bcd5
mov rax, qword [rbp - 0x28]
test byte [rax + 0x44], 8
je 0x18009bd0d
mov qword [rbp + 0x40], rdi
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x18009bd0d
movsxd rax, dword [rbp + 0x58]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.180034610
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
cmp dword [rbp - 0x60], 0
movsxd r15, dword [rsi + 0x90]
mov dword [rsp + 0x60], r15d
je 0x18009bd49
mov edx, dword [r13 + 4]
cmp dword [rsi + 0x94], r15d
jg 0x18009bda9
mov eax, dword [rsp + 0x48]
mov r8d, edx
mov r9d, dword [rsp + 0x70]
mov edx, 0x85
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.180033a50
mov edx, dword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
mov ebx, edi
cmp dword [rax], 0
jle 0x18009be44
mov r12d, dword [rbp - 0x60]
lea r15, [rax + 8]
nop word [rax + rax]
mov r8d, dword [rbp - 0x68]
add r8d, ebx
test r12d, r12d
je 0x18009be14
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009bde5
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, rsi
mov edx, 0x5e
call fcn.180033a50
jmp 0x18009be24
mov r8d, dword [rsp + 0x70]
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x48]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x85
mov dword [rax + rcx*8 + 8], r8d
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x18009bd4d
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x5e
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], rdi
jmp 0x18009be28
mov byte [r13], 1
mov rcx, r14
mov rdx, qword [r15]
call fcn.1800566e0
mov edx, dword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
inc ebx
add r15, 0x20
cmp ebx, dword [rax]
jl 0x18009bd70
mov r12, qword [rbp - 0x20]
mov r15d, dword [rsp + 0x60]
mov rbx, qword [rbp - 8]
test rbx, rbx
je 0x18009be4f
inc dword [rbx]
movsxd rdx, dword [rsi + 0x90]
mov r8d, dword [rax]
cmp dword [rsi + 0x94], edx
jg 0x18009be7f
mov r9d, dword [rbp - 0x68]
mov edx, 0x5a
mov dword [rsp + 0x20], r8d
mov rcx, rsi
mov r8d, dword [rbp - 0x64]
call fcn.180033a50
mov edx, eax
jmp 0x18009beb6
mov r9d, dword [rbp - 0x64]
lea rcx, [rdx + rdx*2]
mov r10d, dword [rbp - 0x68]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x5a
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], r10d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, rsi
call fcn.180034830
movsxd rbx, dword [rsi + 0x90]
lea edx, [rbx + 1]
cmp dword [rsi + 0x94], ebx
jg 0x18009bef1
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0xe]
call fcn.180033a50
jmp 0x18009bf1a
mov rax, qword [rsi + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [rsi + 0x90], edx
mov dword [rax + rcx*8], recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
mov r10, qword [r14 + 0x10]
mov rax, qword [rsp + 0x68]
mov r8d, dword [rbp - 0x68]
movsxd rcx, dword [r10 + 0x90]
mov edx, dword [rax]
cmp dword [r10 + 0x94], ecx
jg 0x18009bf50
mov r9d, dword [rbp - 0x64]
mov rcx, r10
mov dword [rsp + 0x20], edx
mov edx, 0x4f
call fcn.180033a50
jmp 0x18009bf83
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rbp - 0x64]
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8], 0x4f
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [rsp + 0x40]
cmp dword [rsi + 0x94], ecx
jg 0x18009bfb6
mov r9d, dword [rbp - 0x5c]
inc r8d
mov edx, 0xa
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.180033a50
mov r8d, dword [rsp + 0x40]
jmp 0x18009bfe9
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
lea edx, [r8 + 1]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x5c]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009c010
mov r9d, dword [rsp + 0x78]
mov edx, 0x3b
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.180033a50
jmp 0x18009c041
mov edx, dword [rsp + 0x78]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x3b
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009c06c
mov r9d, dword [rsp + 0x58]
mov edx, 0xa
mov r8d, dword [rbp - 0x78]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.180033a50
jmp 0x18009c09f
mov edx, dword [rbp - 0x78]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 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], 0xa
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], 0
je 0x18009c0b7
lea rax, [0x18024b8e0]
jmp 0x18009c0c6
mov rax, qword [rsi + 0x88]
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov ebx, dword [rbp - 0x38]
mov r8, r13
mov r9d, dword [rbp - 0x50]
mov rcx, r14
mov dword [rax + 8], edx
mov edx, ebx
call fcn.180098b50
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009c106
mov edx, 0x47
mov dword [rsp + 0x20], edi
mov r9d, ebx
mov rcx, rsi
lea r8d, [rdx - 0x46]
call fcn.180033a50
jmp 0x18009c136
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
cmp dword [rbp - 0x60], 0
je 0x18009c197
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r13 + 4]
cmp dword [rsi + 0x94], ecx
jg 0x18009c168
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x25
mov r9d, r15d
mov rcx, rsi
call fcn.180033a50
jmp 0x18009c1d4
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x18009c1d4
mov rcx, qword [rbp - 0x28]
call fcn.1800bc210
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x18009c1d4
movsxd rax, dword [rbp - 0x58]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.180034610
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x18009c1e7
mov rcx, qword [rsp + 0x50]
call fcn.18004fa90
mov ebx, dword [rsp + 0x40]
movsxd rcx, dword [rsi + 0x90]
inc ebx
cmp dword [rsi + 0x94], ecx
jg 0x18009c216
mov r9d, dword [rbp - 0x5c]
mov r8d, ebx
mov edx, 0xa
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.180033a50
jmp 0x18009c245
mov edx, dword [rbp - 0x5c]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009c26e
mov r9d, dword [rsp + 0x78]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea edx, [r8 + 9]
call fcn.180033a50
jmp 0x18009c29b
mov edx, dword [rsp + 0x78]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd r15, dword [rsi + 0x90]
cmp dword [rsi + 0x94], r15d
jg 0x18009c2c7
mov r9d, dword [rsp + 0x40]
mov edx, 0x47
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea r8d, [rdx - 0x46]
call fcn.180033a50
jmp 0x18009c2fc
mov edx, dword [rsp + 0x40]
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009c323
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, ebx
mov rcx, rsi
lea edx, [r9 + 0x43]
call fcn.180033a50
jmp 0x18009c350
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], ebx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [rsi + 0x18]
lea rbx, [rsi + 0x18]
mov edx, dword [rbp - 0x5c]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x18009c372
mov r8d, edx
mov rdx, rsi
call fcn.1800342e0
jmp 0x18009c382
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
movsxd rax, dword [rsi + 0x90]
mov r8d, dword [rbp - 0x38]
lea ecx, [rax + 1]
lea edx, [rax + 2]
mov dword [rbp - 0x58], ecx
cmp dword [rsi + 0x94], eax
jg 0x18009c3b4
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x3b
mov rcx, rsi
call fcn.180033a50
jmp 0x18009c3de
mov dword [rsi + 0x90], ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x3b
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009c40a
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
inc r8d
mov dword [rsp + 0x20], edi
mov rcx, rsi
lea edx, [r9 + 0x43]
call fcn.180033a50
jmp 0x18009c43d
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
inc edx
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rdx, r13
mov rcx, r14
call fcn.180098a30
mov r8d, dword [rbp - 0x58]
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rbp - 0x70]
mov rcx, r14
call fcn.180057290
mov eax, dword [rbp - 0x58]
lea r9, [rbp + 0x40]
mov dword [rsp + 0x38], r15d
mov r8d, 0xffffffff
mov dword [rsp + 0x30], eax
mov rdx, r12
mov rax, qword [rbp - 0x30]
mov rcx, r14
mov qword [rsp + 0x28], rax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
call fcn.18008dea0
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009c4bd
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
inc r8d
mov dword [rsp + 0x20], edi
mov rcx, rsi
lea edx, [r9 + 0x43]
call fcn.180033a50
jmp 0x18009c4f0
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
inc edx
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [rbx]
mov edx, dword [rsp + 0x58]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x18009c50e
mov r8d, edx
mov rdx, rsi
call fcn.1800342e0
jmp 0x18009c51e
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov rdx, r13
mov rcx, r14
call fcn.180098870
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009c551
mov r9d, dword [rbp - 0x38]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea edx, [r8 + 0x47]
call fcn.180033a50
jmp 0x18009c57d
mov edx, dword [rbp - 0x38]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009c5a5
mov r8d, dword [rbp - 0x78]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x43]
call fcn.180033a50
jmp 0x18009c5d5
mov edx, dword [rbp - 0x78]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
cmp word [rsp + 0x44], 0
je 0x18009c5fa
mov ecx, dword [rbp - 0x50]
test ecx, ecx
je 0x18009c5fa
mov rax, qword [r13 + 0x28]
mov edx, ecx
mov rcx, r14
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
call fcn.18008dd70
mov r15d, dword [rsp + 0x78]
jmp 0x18009ccc1
cmp qword [r12 + 0x30], 0
jne 0x18009c9ef
mov rdx, qword [r12 + 0x20]
cmp dword [rdx], 1
jne 0x18009c9ef
mov r8, qword [r12 + 0x28]
cmp dword [r8], 1
jne 0x18009c9ef
cmp qword [r8 + 0x30], 0
jne 0x18009c9ef
cmp dword [r13 + 0x30], 1
jne 0x18009c9ef
cmp qword [r12 + 0x40], 0
jne 0x18009c9ef
mov r8, qword [r8 + 0x28]
mov qword [rbp - 0x40], r8
cmp byte [r8 + 0x3f], 0
jne 0x18009c9ef
mov rdx, qword [rdx + 8]
cmp byte [rdx], 0xa8
jne 0x18009c9ef
cmp qword [rdx + 0x38], r13
jne 0x18009c9ef
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + 8]
test dword [rcx + 4], 0x100
je 0x18009c9ef
test dword [rdx + 4], 0x1000004
jne 0x18009c9ef
mov rdx, qword [r8 + 0x60]
mov r15d, 0xffff8000
test rdx, rdx
je 0x18009c6cc
mov rax, qword [r14]
mov r15d, edi
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x18009c6cc
nop dword [rax]
inc r15d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x18009c6c0
mov eax, dword [r14 + 0x34]
mov rcx, r14
mov dword [rsp + 0x74], eax
mov r10, rdi
inc eax
mov qword [rbp - 0x80], rdi
mov dword [r14 + 0x34], eax
mov rbx, rdi
mov eax, dword [r8 + 0x28]
mov dword [rsp + 0x58], eax
mov rax, qword [r14 + 0xa8]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x7c]
bt eax, r15d
jb 0x18009c71a
bts eax, r15d
mov dword [rcx + 0x7c], eax
cmp r15d, 1
jne 0x18009c720
call fcn.18006cb50
jmp 0x18009c753
cmp r15d, 1
je 0x18009c75a
mov rax, qword [r14]
movsxd rdx, r15d
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x18009c75a
mov rax, qword [r8]
xor r9d, r9d
mov r8d, dword [r8 + 0x28]
mov edx, r15d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.180062610
mov r8, qword [rbp - 0x40]
mov r10, rdi
test byte [r8 + 0x30], 0x80
je 0x18009c782
mov rbx, qword [r8 + 0x10]
test rbx, rbx
je 0x18009c782
nop word [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x18009c782
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x18009c770
mov rax, qword [r12 + 0x28]
test byte [rax + 0x48], 1
jne 0x18009c7c5
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x18009c7c5
test byte [rax + 0x64], 4
jne 0x18009c7bc
movzx ecx, word [rax + 0x5c]
cmp cx, word [r8 + 0x3c]
jge 0x18009c7bc
cmp qword [rax + 0x48], 0
jne 0x18009c7bc
test rbx, rbx
je 0x18009c7b9
cmp cx, word [rbx + 0x5c]
jge 0x18009c7bc
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x18009c796
test rbx, rbx
je 0x18009c7e3
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r14
mov dword [rsp + 0x58], eax
call fcn.18006d4b0
mov r10, rax
mov qword [rbp - 0x80], rax
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009c81f
mov r9d, dword [rsp + 0x58]
mov edx, reloc.WS2_32.dll_WSASetLastError
mov dword [rsp + 0x28], 1
mov rcx, rsi
mov dword [rsp + 0x20], r15d
mov r15d, dword [rsp + 0x74]
mov r8d, r15d
call fcn.180033ab0
mov r10, qword [rbp - 0x80]
jmp 0x18009c85c
mov edx, dword [rsp + 0x74]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x58]
mov dword [rax + rcx*8 + 0xc], r15d
mov r15d, dword [rsp + 0x74]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xfd70
mov dword [rax + rcx*8 + 0x10], 1
test r10, r10
je 0x18009c8b5
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x18009c879
mov r8, r10
mov edx, 0xfffffff8
call fcn.180034610
jmp 0x18009c8b5
movsxd rax, dword [rsi + 0x90]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rdx, [rdx - 3]
cmp byte [rax + rdx*8 + 1], 0
lea rdx, [rax + rdx*8]
je 0x18009c8ad
mov r9d, 0xfffffff8
mov r8, r10
mov rcx, rsi
call fcn.180034730
jmp 0x18009c8b5
mov qword [rdx + 0x10], r10
mov byte [rdx + 1], 0xf8
mov eax, dword [r14 + 0x38]
inc eax
mov dword [r13 + 0xc], eax
mov eax, dword [r13 + 0x20]
add eax, dword [r13 + 0x30]
add dword [r14 + 0x38], eax
mov edx, dword [r13 + 0x20]
add edx, dword [r13 + 0xc]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009c8fb
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x62
mov r8d, r15d
mov rcx, rsi
call fcn.180033a50
jmp 0x18009c928
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x62
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009c94f
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r15d
mov rcx, rsi
lea edx, [r9 + 0x7a]
call fcn.180033a50
jmp 0x18009c97d
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
cmp byte [r14 + 0x12b], 2
jne 0x18009cc75
mov r9, qword [rbp - 0x40]
test rbx, rbx
je 0x18009c9b0
test byte [r9 + 0x30], 0x80
je 0x18009c9a4
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x18009c9b0
mov rax, qword [rbx]
lea rcx, [0x18020734d]
jmp 0x18009c9bd
lea rcx, [0x18020734d]
mov dword [rbp - 0x38], edi
mov rax, rcx
cmp dword [rbp - 0x38], 0
lea rdx, str._USING_COVERING_INDEX
mov r9, qword [r9]
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, r14
call fcn.1800340c0
jmp 0x18009cc75
cmp dword [r13 + 0x24], 0
mov r15d, edi
mov r8d, dword [r13 + 0x30]
movzx ebx, di
mov qword [rbp - 0x80], rdi
je 0x18009ca98
mov edx, edi
test r8d, r8d
jle 0x18009ca34
mov rcx, qword [r13 + 0x28]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x18009ca29
mov rax, qword [rcx + 8]
test byte [rax + 4], 0x20
jne 0x18009ca34
inc edx
add rcx, 0x18
cmp edx, r8d
jl 0x18009ca13
cmp edx, r8d
jne 0x18009cabe
inc dword [r14 + 0x38]
movsxd rcx, dword [rsi + 0x90]
mov r15d, dword [r14 + 0x38]
cmp dword [rsi + 0x94], ecx
jg 0x18009ca6c
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, r15d
mov rcx, rsi
lea edx, [r8 + 0x47]
call fcn.180033a50
jmp 0x18009cabe
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x18009cabe
cmp r8d, 1
jne 0x18009cabe
mov rax, qword [r13 + 0x28]
cmp dword [rax + 0x10], 0
jl 0x18009cabe
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov qword [rbp - 0x80], rax
neg rax
sbb bx, bx
and bx, 0x500
mov eax, dword [r14 + 0x38]
mov rdx, r13
inc eax
mov rcx, r14
mov dword [r13 + 0xc], eax
mov eax, dword [r13 + 0x30]
add eax, dword [r13 + 0x20]
add dword [r14 + 0x38], eax
call fcn.180098870
movzx eax, byte [rsp + 0x44]
mov rcx, r14
mov r9, qword [rbp - 0x10]
or ax, bx
mov r8, qword [rbp - 0x50]
mov rdx, qword [rsp + 0x60]
mov dword [rsp + 0x38], edi
mov word [rsp + 0x30], ax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.1800bb1a0
mov rbx, rax
test rax, rax
je 0x180099e9f
movzx eax, byte [rax + 0x43]
mov r8, r13
mov r9d, eax
mov dword [rsp + 0x60], eax
mov edx, r15d
mov rcx, r14
call fcn.180098b50
mov edx, dword [rsp + 0x60]
test edx, edx
je 0x18009cb59
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x18009cb59
mov r9d, dword [rax + 0x14]
mov rcx, r14
mov r8d, dword [rax + 0x10]
call fcn.18008dd70
test r15d, r15d
je 0x18009cbb8
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009cb87
mov edx, 0x47
mov dword [rsp + 0x20], edi
mov r9d, r15d
mov rcx, rsi
lea r8d, [rdx - 0x46]
call fcn.180033a50
jmp 0x18009cbb8
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
cmp byte [rsp + 0x44], 0
je 0x18009cc62
test byte [rbx + 0x44], 4
je 0x18009cc62
cmp byte [rbx + 0x41], 0
je 0x18009cc62
movzx edx, byte [rbx + 0x40]
sub rdx, 1
js 0x18009cc07
imul rcx, rdx, 0x70
add rcx, rbx
nop dword [rax + rax]
mov rax, qword [rcx + 0x3c0]
test byte [rax + 0x38], 4
jne 0x18009cc31
sub rcx, 0x70
sub rdx, 1
jns 0x18009cbf0
mov edx, dword [rbx + 0x34]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x18009cc39
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 9]
call fcn.180033a50
jmp 0x18009cc62
mov edx, dword [rcx + 0x370]
jmp 0x18009cc0a
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8 + 0x10], rdi
mov dword [rax + rcx*8 + 0xc], edi
mov dword [rax + rcx*8 + 8], edx
mov qword [rax + rcx*8], 9
mov rcx, rbx
call fcn.1800bc210
mov rdx, r13
mov rcx, r14
call fcn.180098a30
mov r15d, dword [rsp + 0x78]
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rbp - 0x70]
mov r8d, r15d
mov rcx, r14
mov qword [rbp + 0x40], rdi
call fcn.180057290
mov rax, qword [rbp - 0x30]
xor r9d, r9d
mov dword [rsp + 0x38], r15d
mov rdx, r12
mov dword [rsp + 0x30], r15d
mov rcx, r14
mov qword [rsp + 0x28], rax
lea r8d, [r9 - 1]
mov qword [rsp + 0x20], rdi
call fcn.18008dea0
lea rbx, [rsi + 0x18]
mov rcx, qword [rbx]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x18009ccdc
mov r8d, r15d
mov rdx, rsi
call fcn.1800342e0
jmp 0x18009ccec
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, r15d
mov dword [rcx + rdx*4], eax
cmp byte [rbp + 1], 3
jne 0x18009cd0a
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r14
call fcn.1800340c0
cmp qword [rbp + 0x40], 0
je 0x18009cd30
mov rax, qword [rbp - 0x30]
lea r8, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov rdx, r12
mov rax, qword [rbp - 0x48]
mov rcx, r14
mov r9d, dword [rax]
call fcn.18008f1a0
mov rcx, qword [rbx]
mov edx, dword [rbp - 0x18]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x18009cd4d
mov r8d, edx
mov rdx, rsi
call fcn.1800342e0
jmp 0x18009cd5d
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
cmp dword [r14 + 0x30], 0
mov eax, edi
mov r11, qword [rsp + 0x50]
setg al
mov r15d, eax
jmp 0x180099eaa
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
mov edi, dword [rax + rcx*8 + 8]
lea rax, [rax + rcx*8]
mov dword [r14 + 0x138], edi
mov eax, r8d
jmp 0x180099ef9
mov eax, r15d
jmp 0x180099f01