Function at 0x1401496f0
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
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rdi, qword [rcx + 0x10]
xor esi, esi
mov rax, qword [rcx]
mov r13d, 1
mov qword [rbp + 8], r13
mov r14, r8
mov qword [rbp + 0x58], rsi
mov rbx, rdx
mov qword [rsp + 0x40], rax
mov r12, rcx
mov qword [rbp - 0x48], rdi
test rdi, rdi
jne 0x140149765
cmp qword [rcx + 0xa8], rsi
jne 0x140149759
test byte [rax + 0x60], 8
jne 0x140149759
mov byte [rcx + 0x23], r13b
call fcn.140155100
mov rdi, rax
mov qword [rbp - 0x48], rax
test rbx, rbx
je 0x14014cc1b
cmp dword [r12 + 0x30], esi
jne 0x14014cc1b
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, r12
lea edx, [r9 + 0x15]
call fcn.140119af0
test eax, eax
jne 0x14014cc1b
cmp byte [r14], 6
ja 0x1401497c7
mov r8, qword [rbx + 0x48]
test r8, r8
je 0x1401497ba
lea rdx, [0x14012e100]
mov rcx, r12
call fcn.14013f590
mov qword [rbx + 0x48], rsi
mov eax, dword [rbx + 4]
and eax, 0xfffffffe
bts eax, 0x16
mov dword [rbx + 4], eax
xor r8d, r8d
mov qword [rsp + 0x198], r15
mov rdx, rbx
mov rcx, r12
call fcn.14014d4a0
lea r8, [0x140243af8]
cmp dword [r12 + 0x30], esi
jne 0x14014cbde
mov r10d, dword [rbx + 4]
bt r10d, 0x17
jae 0x14014983b
mov rdx, qword [rbx + 0x28]
lea r11, [rdx + 8]
mov rcx, r11
call fcn.140113060
test eax, eax
je 0x140149832
mov r8, qword [r11 + 0x18]
test r8, r8
jne 0x14014981e
mov rax, qword [r11 + 0x20]
mov r8, qword [rax]
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, r12
call fcn.140127c50
jmp 0x14014cbd7
btr r10d, 0x17
mov dword [rbx + 4], r10d
cmp byte [r14], 9
jne 0x14014984c
mov rdx, rbx
mov rcx, r12
call fcn.140132650
mov rdx, rbx
mov rcx, r12
call fcn.14016d910
test eax, eax
jne 0x14014cbd7
mov r9, qword [rbp + 0xe8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov r12d, esi
movups xmmword [rbp + 0x70], xmm0
mov eax, dword [r9 + 4]
mov rbx, qword [r9 + 0x28]
shr eax, 3
and eax, r13d
mov dword [rbp - 0x78], eax
mov rax, qword [r9 + 0x48]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x60], rax
movups xmmword [rbp + 0x80], xmm0
cmp qword [r9 + 0x50], rsi
jne 0x140149ae9
mov r10, qword [rsp + 0x40]
mov r15, rsi
nop word [rax + rax]
cmp r12d, dword [rbx]
jge 0x140149b55
imul r14, r15, 0x68
add r14, rbx
movzx r8d, byte [r14 + 0x44]
mov rdx, qword [r14 + 0x28]
mov r13, qword [r14 + 0x30]
mov qword [rbp + 0xf8], rdx
test r8b, 0x48
je 0x1401499b5
mov edx, dword [r14 + 0x4c]
and r8d, 0x40
mov rcx, qword [r9 + 0x30]
call fcn.14012d8c0
mov r10, qword [rsp + 0x40]
test eax, eax
je 0x1401499a7
test dword [r10 + 0x60], 0x2000
jne 0x1401499a7
movzx eax, byte [r14 + 0x44]
test al, 8
je 0x140149921
test al, 0x10
je 0x14014991b
and al, 0xf7
jmp 0x14014991d
and al, 0xd7
mov byte [r14 + 0x44], al
test al, 0x40
je 0x140149988
mov eax, dword [rbx]
lea edx, [r12 + 1]
lea rcx, [r15 + 1]
cmp edx, eax
jge 0x14014995f
imul rcx, rcx, 0x68
add rcx, 0x44
add rcx, rbx
nop
movzx eax, byte [rcx]
test al, 0x10
je 0x140149953
test al, 8
je 0x14014994f
and al, 0xef
jmp 0x140149951
and al, 0xcf
mov byte [rcx], al
mov eax, dword [rbx]
inc edx
add rcx, 0x68
cmp edx, eax
jl 0x140149940
dec eax
movsxd rdx, eax
cmp rdx, r15
jl 0x140149988
imul rcx, rdx, 0x68
add rcx, 0x44
add rcx, rbx
and byte [rcx], 0xbf
test byte [rcx], 0x10
jne 0x140149988
dec rdx
sub rcx, 0x68
cmp rdx, r15
jge 0x140149974
movzx r8d, byte [rbx + 0x44]
mov r9, qword [rbp + 0xe8]
and r8d, 0x40
mov edx, dword [r14 + 0x4c]
mov rcx, qword [r9 + 0x30]
call fcn.140171570
jmp 0x1401499ae
mov r9, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0xf8]
test r13, r13
je 0x140149ad2
mov rax, qword [r13 + 0x20]
movsx r8d, word [rdx + 0x36]
mov ecx, dword [rax]
cmp r8d, ecx
jne 0x140149b33
test dword [r14 + 0x48], 0x100
je 0x1401499ea
mov rax, qword [r14 + 0x68]
cmp byte [rax + 0x12], sil
je 0x140149ad2
mov eax, dword [r13 + 4]
test al, 8
jne 0x140149ad2
mov r8, qword [r13 + 0x48]
test r8, r8
je 0x140149a60
cmp qword [r9 + 0x48], rsi
jne 0x140149a0a
cmp dword [rbx], 1
jle 0x140149a43
cmp qword [r13 + 0x60], rsi
jne 0x140149a43
bt eax, 0x1b
jb 0x140149a43
test dword [r9 + 4], 0x8000000
jne 0x140149a43
test dword [r10 + 0x60], 0x40000
jne 0x140149a43
mov rcx, qword [rbp + 0xe0]
lea rdx, [0x14012e100]
call fcn.14013f590
mov qword [r13 + 0x48], rsi
jmp 0x140149a60
test r12d, r12d
jne 0x140149a60
test dword [r9 + 4], 0x40000
je 0x140149a60
cmp dword [rbx], 1
je 0x140149ad2
test byte [rbx + 0xac], 0x22
jne 0x140149ad2
mov r9d, dword [rbp - 0x78]
mov r8d, r12d
mov rdx, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
call fcn.1400f6320
test eax, eax
je 0x140149a9d
mov r12, qword [rbp + 0xe0]
cmp dword [r12 + 0x30], esi
jne 0x14014cbd1
mov r12d, 0xffffffff
mov r15, 0xffffffffffffffff
mov r10, qword [rsp + 0x40]
mov r9, qword [rbp + 0xe8]
mov rbx, qword [r9 + 0x28]
cmp byte [r10 + 0x67], sil
jne 0x14014cbca
mov r14, qword [rbp + 0xf0]
cmp byte [r14], 8
jbe 0x140149ad9
mov rax, qword [r9 + 0x48]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x60], rax
jmp 0x140149ad9
mov r14, qword [rbp + 0xf0]
inc r12d
inc r15
cmp qword [r9 + 0x50], rsi
je 0x1401498b0
mov rbx, qword [rbp + 0xe0]
mov r8, r14
mov rcx, rbx
mov rdx, r9
call fcn.140103d90
mov r9d, eax
mov rax, qword [rbp + 0xe8]
cmp qword [rax + 0x58], rsi
jne 0x140149b16
mov rcx, rbx
call fcn.14015e760
mov eax, r9d
mov r15, qword [rsp + 0x198]
add rsp, 0x1a0
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9, qword [rdx]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov r12, qword [rbp + 0xe0]
mov dword [rsp + 0x20], ecx
mov rcx, r12
call fcn.140127c50
jmp 0x14014cbd1
mov rax, qword [r9 + 0x30]
lea r14, [r9 + 0x30]
mov r12, qword [rbp + 0xe0]
mov r15, rbx
mov qword [rsp + 0x68], r14
mov r13d, 1
mov qword [rsp + 0x58], rbx
test rax, rax
je 0x140149c6a
cmp byte [rax], 0x2c
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x58], rbx
jne 0x140149c6a
test dword [r10 + 0x60], 0x8000
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x58], rbx
jne 0x140149c6a
mov rax, qword [r12]
lea r15, [fcn.14001fe10]
add rax, 0x67
mov qword [rsp + 0x58], rbx
mov qword [rbp + 0x18], rax
lea rbx, [0x14010c7b0]
mov qword [rbp + 0x10], r12
nop
mov rax, qword [r9 + 0x28]
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x30], rsi
mov dword [rbp + 0x28], esi
test rax, rax
je 0x140149bf5
cmp dword [rax], esi
jle 0x140149bf5
test byte [rax + 0x44], 0x40
mov dword [rbp + 0x2c], 3
jne 0x140149bf9
mov dword [rbp + 0x2c], r13d
mov rdx, qword [r14]
lea rcx, [rbp + 0x10]
call fcn.1400f2ba0
cmp dword [rbp + 0x20], esi
je 0x140149c4c
mov rdx, qword [r14]
lea rax, [rbp + 0x10]
mov qword [rbp - 8], rsi
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], rsi
mov qword [rbp], rax
test rdx, rdx
je 0x140149c37
lea rcx, [rbp - 0x28]
call fcn.140164620
mov rdx, qword [rbp + 0x30]
test rdx, rdx
je 0x140149c4c
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx]
call fcn.140124fb0
mov r9, qword [rbp + 0xe8]
cmp dword [rbp + 0x24], esi
jne 0x140149bd0
mov r15, qword [rsp + 0x58]
lea r14, [r9 + 0x30]
mov qword [rsp + 0x68], r14
mov rbx, qword [rsp + 0x40]
test dword [rbx + 0x60], 0x201
jne 0x140149ca3
mov rdx, r9
mov rcx, r12
call fcn.1400eb3d0
test eax, eax
je 0x140149ca3
cmp byte [rbx + 0x67], sil
jne 0x14014cbd7
mov rbx, qword [rbp + 0xe8]
mov r15, qword [rbx + 0x28]
mov qword [rsp + 0x58], r15
jmp 0x140149caa
mov rbx, qword [rbp + 0xe8]
lea rcx, [0x1402171b0]
mov r13d, esi
mov dword [rbp + 0xf8], esi
cmp dword [r15], esi
jle 0x14014a51e
mov rax, rsi
mov qword [rbp - 0x40], rax
nop word [rax + rax]
imul rax, rax, 0x68
add r15, 8
add r15, rax
mov qword [rsp + 0x70], r15
cmp qword [r15 + 0x50], rsi
jne 0x140149d08
mov r8, qword [r15 + 0x10]
test r8, r8
je 0x140149d08
mov rax, qword [r15 + 8]
mov r9, rcx
mov rcx, r12
mov qword [rsp + 0x20], rax
mov edx, socket
call fcn.140119af0
mov rbx, qword [r15 + 0x28]
mov qword [rsp + 0x48], rbx
test rbx, rbx
je 0x14014a4e4
mov rcx, qword [rbp + 0xe8]
lea rdx, [rsp + 0x54]
mov dword [rsp + 0x54], esi
call fcn.1400fa5d0
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x54]
add dword [r12 + 0x134], eax
test dword [rcx + 0x60], 0x1000
jne 0x140149d7f
test dword [r15 + 0x40], 0x100
je 0x140149d62
mov rax, qword [r15 + 0x60]
cmp byte [rax + 0x12], sil
je 0x140149d7f
cmp dword [rax], 2
jge 0x140149d7f
mov r9, qword [rsp + 0x58]
mov rdx, rbx
mov r8, qword [r14]
mov rcx, r12
mov dword [rsp + 0x20], r13d
call fcn.14010cd80
mov rcx, qword [rsp + 0x40]
test dword [rcx + 0x60], 0x4000000
jne 0x140149eae
test dword [r15 + 0x40], 0x108
jne 0x140149eae
mov r13, qword [r15 + 0x28]
mov r8, qword [r15 + 0x20]
mov rax, r13
test r13, r13
je 0x140149dde
nop word [rax + rax]
test byte [rax + 4], 9
jne 0x140149eae
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x140149dcc
cmp byte [rax], 0x87
jne 0x140149eae
cmp qword [rax + 0x70], rsi
jne 0x140149eae
mov rax, rcx
test rcx, rcx
jne 0x140149db0
mov rcx, qword [r13 + 0x48]
mov rbx, qword [r15 + 0x50]
test rcx, rcx
je 0x140149e20
movsxd rdx, dword [rcx]
test rdx, rdx
jle 0x140149e20
add rcx, 0x20
movzx eax, word [rcx]
test ax, ax
je 0x140149e16
dec ax
cmp ax, 0x40
jb 0x140149e0f
mov eax, 0x3f
jmp 0x140149e12
movzx eax, ax
bts rbx, rax
add rcx, 0x20
sub rdx, 1
jne 0x140149df7
movsx r14, word [r8 + 0x36]
mov r10d, esi
mov r11, rsi
test r14, r14
jle 0x140149eae
mov r9d, 1
mov r8, rsi
movabs rdi, 0x8000000000000000
nop dword [rax]
nop word [rax + rax]
cmp r10d, 0x3f
mov rax, rdi
cmovb rax, r9
test rbx, rax
jne 0x140149e98
mov rcx, r13
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx + 0x20]
mov rdx, qword [rax + r8 + 8]
cmp byte [rdx], 0x79
je 0x140149e8f
and dword [rdx + 4], 0xfff7dfff
mov byte [rdx], 0x79
or dword [rcx + 4], 0x1000000
mov rcx, qword [rcx + 0x50]
test rcx, rcx
jne 0x140149e70
inc r10d
rol r9, 1
inc r11
add r8, 0x20
cmp r11, r14
jl 0x140149e50
mov rdi, qword [rbp - 0x48]
imul r14, qword [rbp - 0x40], 0x68
mov rax, qword [r15 + 0x10]
mov r13, qword [r12 + 0x170]
mov r10, qword [rsp + 0x58]
mov r8d, dword [rbp + 0xf8]
add r14, r10
mov qword [r12 + 0x170], rax
mov ebx, r8d
mov rax, qword [rbp + 0xe8]
test dword [r14 + 0x48], 0x100
mov r12d, dword [rax + 4]
je 0x140149f0c
mov rax, qword [r14 + 0x68]
movzx ecx, byte [rax + 0x12]
test cl, cl
je 0x14014a0ea
cmp dword [rax], 2
jl 0x140149f0c
cmp cl, 2
jne 0x14014a0ea
test byte [r10 + 0x44], 0x40
jne 0x14014a0ea
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
test dword [rax + 0x60], 0x2000000
jne 0x14014a0ea
mov r15d, dword [r10]
lea rdx, [r14 + 8]
mov r9d, r15d
inc r8d
mov rcx, r10
call fcn.1400fc510
test rax, rax
jne 0x14014a0dd
cmp qword [rbp - 0x40], rsi
jne 0x140149fbe
cmp r15d, 1
je 0x140149f72
mov r10, qword [rsp + 0x58]
test byte [r10 + 0xac], 2
jne 0x140149f72
bt r12d, 0x1c
jb 0x14014a0d8
movsxd r14, dword [rdi + 0x90]
mov r12, qword [rbp + 0xe0]
mov r15, qword [rsp + 0x70]
lea ebx, [r14 + 1]
inc dword [r12 + 0x38]
mov edx, dword [r12 + 0x38]
mov dword [r15 + 0x34], edx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140149ff9
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, rdi
lea edx, [r9 + 0xb]
call fcn.1400f9f80
jmp 0x14014a025
bt r12d, 0x1c
jb 0x14014a0dd
test byte [r14 + 0x44], 0x22
lea rax, [r14 + 0x44]
jne 0x14014a0dd
test ebx, ebx
je 0x140149f72
sub rax, 0x68
dec ebx
cmp qword [rax - 0x14], rsi
jne 0x140149fed
test byte [rax], 0x22
je 0x140149fd8
mov r8d, dword [rbp + 0xf8]
jmp 0x14014a0e0
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rsi
mov eax, dword [r15 + 0x34]
lea r8, str.CO_ROUTINE___S
mov r9, r15
mov dword [rbp + 0x14], eax
mov edx, 1
mov dword [r15 + 0x30], ebx
mov rcx, r12
mov byte [rbp + 0x10], recv
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x28], rsi
mov dword [rbp + 0x20], esi
call fcn.14015e600
mov rbx, qword [rsp + 0x48]
lea r8, [rbp + 0x10]
mov rdx, rbx
mov rcx, r12
call fcn.1401496f0
movzx eax, word [rbx + 2]
mov rcx, qword [r15 + 0x20]
mov word [rcx + 0x3a], ax
mov rcx, rdi
mov eax, dword [rbp + 0x1c]
mov edx, dword [r15 + 0x34]
or dword [r15 + 0x40], 0x20
mov dword [r15 + 0x38], eax
call fcn.1401556b0
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], sil
je 0x14014a0b6
lea rax, [0x140243af8]
mov dword [rax + 8], edx
mov byte [r12 + 0x1f], sil
mov dword [r12 + 0x28], esi
jmp 0x14014a498
mov rax, qword [rdi + 0x88]
lea rcx, [r14 + r14*2]
mov dword [rax + rcx*8 + 8], edx
mov byte [r12 + 0x1f], sil
mov dword [r12 + 0x28], esi
lea rax, [rax + rcx*8]
jmp 0x14014a498
mov r8d, ebx
jmp 0x14014a0e5
mov r8d, ebx
mov r10, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
test dword [r15 + 0x40], 0x100
je 0x14014a190
mov rbx, qword [r15 + 0x60]
mov edx, dword [rbx + 4]
test edx, edx
jle 0x14014a190
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rbx + 8]
cmp dword [rdi + 0x94], ecx
jg 0x14014a130
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0xa
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014a15d
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov r9d, dword [rbx + 0xc]
mov r8d, dword [r15 + 0x44]
cmp r8d, r9d
je 0x14014a177
mov edx, reloc.WS2_32.dll_WSAStartup
mov rcx, rdi
call fcn.1401547a0
mov rdx, qword [rsp + 0x48]
movzx eax, word [rbx + 0x10]
mov r12, qword [rbp + 0xe0]
mov word [rdx + 2], ax
jmp 0x14014a498
mov r9d, r8d
mov rdx, r15
xor r8d, r8d
mov rcx, r10
call fcn.1400fc510
mov rbx, rax
test rax, rax
je 0x14014a280
mov edx, dword [rax + 0x30]
test edx, edx
je 0x14014a20a
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rax + 0x34]
cmp dword [rdi + 0x94], ecx
jg 0x14014a1dd
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0xa
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014a20a
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [rbx + 0x44]
mov r8d, dword [r15 + 0x44]
cmp dword [rdi + 0x94], ecx
jg 0x14014a236
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, reloc.WS2_32.dll_WSAStartup
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014a263
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rbx + 0x28]
mov rdx, qword [rsp + 0x48]
mov r12, qword [rbp + 0xe0]
movzx ecx, word [rax + 2]
mov word [rdx + 2], cx
jmp 0x14014a498
mov r12, qword [rbp + 0xe0]
mov ebx, esi
inc dword [r12 + 0x38]
mov eax, dword [r12 + 0x38]
mov dword [r15 + 0x34], eax
movsxd r14, dword [rdi + 0x90]
cmp dword [rdi + 0x94], r14d
jg 0x14014a2c2
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 9]
call fcn.1400f9f80
mov r14d, eax
jmp 0x14014a2e9
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 9
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
lea eax, [r14 + 1]
mov dword [r15 + 0x30], eax
mov eax, dword [r15 + 0x40]
or eax, 0x10
mov dword [r15 + 0x40], eax
test al, 8
jne 0x14014a34f
movsxd rbx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ebx
jg 0x14014a329
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0xf]
call fcn.1400f9f80
mov ebx, eax
jmp 0x14014a34f
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], send
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
mov eax, dword [r15 + 0x44]
lea r8, str.MATERIALIZE___S
mov r9, r15
mov dword [rbp + 0x14], eax
mov edx, 1
mov byte [rbp + 0x10], 0xc
mov rcx, r12
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x28], rsi
mov dword [rbp + 0x20], esi
call fcn.14015e600
mov rdx, qword [rsp + 0x48]
lea r8, [rbp + 0x10]
mov rcx, r12
call fcn.1401496f0
mov r9, qword [rsp + 0x48]
mov rcx, qword [r15 + 0x20]
movzx eax, word [r9 + 2]
mov word [rcx + 0x3a], ax
test ebx, ebx
je 0x14014a3d0
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], sil
je 0x14014a3bb
lea rax, [0x140243af8]
jmp 0x14014a3cd
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [rdi + 0x90]
lea edx, [r14 + 1]
mov r8d, dword [r15 + 0x34]
cmp dword [rdi + 0x94], ecx
jg 0x14014a402
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x43
mov rcx, rdi
call fcn.1400f9f80
mov r9, qword [rsp + 0x48]
jmp 0x14014a42f
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
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], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], sil
je 0x14014a447
lea rax, [0x140243af8]
jmp 0x14014a459
movsxd rax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov byte [r12 + 0x1f], sil
mov dword [r12 + 0x28], esi
mov eax, dword [r15 + 0x40]
and eax, 0x108
cmp eax, 0x100
jne 0x14014a498
mov eax, dword [r15 + 0x30]
mov rcx, qword [r15 + 0x60]
mov dword [rcx + 4], eax
mov eax, dword [r15 + 0x34]
mov dword [rcx + 8], eax
mov eax, dword [r15 + 0x44]
mov dword [rcx + 0xc], eax
movzx eax, word [r9 + 2]
mov word [rcx + 0x10], ax
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x67], sil
jne 0x14014cbd1
mov rbx, qword [rbp + 0xe8]
lea rdx, [rsp + 0x54]
mov rcx, rbx
mov dword [rsp + 0x54], esi
call fcn.1400fa5d0
mov edx, dword [r12 + 0x134]
sub edx, dword [rsp + 0x54]
mov qword [r12 + 0x170], r13
mov r13d, dword [rbp + 0xf8]
mov dword [r12 + 0x134], edx
jmp 0x14014a4eb
mov rbx, qword [rbp + 0xe8]
mov rax, qword [rbp - 0x40]
lea rcx, [0x1402171b0]
mov r15, qword [rsp + 0x58]
inc r13d
mov r14, qword [rsp + 0x68]
inc rax
mov dword [rbp + 0xf8], r13d
mov qword [rbp - 0x40], rax
cmp r13d, dword [r15]
jl 0x140149cd0
lea r14, [rbx + 0x30]
mov rax, qword [r14]
mov ecx, dword [rbx + 4]
movzx r13d, byte [rbx + 4]
mov rdx, qword [rbx + 0x20]
and r13b, 1
mov r12, qword [rbx + 0x38]
mov qword [rbp - 0x58], rax
mov rax, qword [rbx + 0x40]
mov qword [rbp + 0x50], rax
mov eax, ecx
and al, 9
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x48], r12
mov byte [rbp + 0xf8], r13b
mov byte [rbp - 0x38], r13b
cmp al, 1
jne 0x14014a619
mov r8, qword [rbp - 0x80]
test r8, r8
jne 0x14014a576
test rdx, rdx
jne 0x14014a619
jmp 0x14014a5e2
test rdx, rdx
je 0x14014a619
mov eax, dword [r8]
cmp eax, dword [rdx]
jne 0x14014a619
mov r14d, esi
test eax, eax
jle 0x14014a5e2
mov r15, r8
lea rbx, [rdx + 0x18]
sub r15, rdx
nop dword [rax + rax]
movzx eax, byte [rbx]
cmp byte [r15 + rbx], al
jne 0x14014a619
mov r8, qword [rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [r15 + rbx - 0x10]
xor ecx, ecx
call fcn.14012c710
test eax, eax
jne 0x14014a619
mov r8, qword [rbp - 0x80]
inc r14d
add rbx, 0x20
cmp r14d, dword [r8]
jl 0x14014a5a0
mov rbx, qword [rbp + 0xe8]
mov rdx, qword [rsp + 0x70]
mov ecx, dword [rbx + 4]
cmp qword [rbx + 0x70], rsi
jne 0x14014a619
and ecx, 0xfffffffe
xor r8d, r8d
mov dword [rbx + 4], ecx
mov rcx, qword [rsp + 0x40]
call fcn.14012e110
or dword [rbx + 4], 8
mov r13b, 2
mov byte [rbp + 0xf8], r13b
mov r12, rax
mov byte [rbp - 0x38], r13b
mov qword [rsp + 0x48], rax
mov qword [rbx + 0x38], rax
mov rax, qword [rbp - 0x80]
mov r14, qword [rsp + 0x70]
test rax, rax
je 0x14014a733
mov r15, qword [rbp + 0xe0]
xor r8d, r8d
mov r9d, dword [r14]
mov rcx, r15
mov rdx, rax
call fcn.14013a210
mov r8d, dword [r15 + 0x34]
mov rbx, rax
mov rdx, qword [rbp - 0x80]
mov dword [rbp + 0x6c], r8d
lea ecx, [r8 + 1]
mov dword [r15 + 0x34], ecx
movsxd r15, dword [rdi + 0x90]
mov r9d, dword [r14]
inc r9d
mov dword [rbp - 0x68], r15d
add r9d, dword [rdx]
cmp dword [rdi + 0x94], r15d
jg 0x14014a690
mov edx, 0x76
mov dword [rsp + 0x20], esi
mov rcx, rdi
call fcn.1400f9f80
mov r15d, eax
mov dword [rbp - 0x68], eax
jmp 0x14014a6bf
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [rdi]
mov eax, r15d
cmp byte [rcx + 0x67], sil
je 0x14014a6ec
cmp qword [rcx + 0x308], rsi
jne 0x14014a73d
test rbx, rbx
je 0x14014a73d
add dword [rbx], 0xffffffff
jne 0x14014a73d
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
call fcn.140125200
jmp 0x14014a73d
test r15d, r15d
jns 0x14014a6f9
mov eax, dword [rdi + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
cmp byte [rax + rcx*8 + 1], sil
lea rdx, [rax + rcx*8]
je 0x14014a724
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, rdi
call fcn.140173730
jmp 0x14014a73d
test rbx, rbx
je 0x14014a73d
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf8
jmp 0x14014a73d
mov r15d, 0xffffffff
mov dword [rbp - 0x68], r15d
mov rax, qword [rbp + 0xf0]
mov dword [rbp + 0x78], r15d
cmp byte [rax], 0xc
jne 0x14014a807
mov r9d, dword [r14]
mov edx, 0x76
mov r8d, dword [rax + 4]
mov rcx, rdi
call fcn.1401547a0
mov rax, qword [rbp + 0xe8]
test dword [rax + 4], 0x800
je 0x14014a807
mov r8, qword [rsp + 0x70]
mov ecx, dword [r8]
lea eax, [rcx - 1]
movsxd r14, eax
test eax, eax
jle 0x14014a7e6
mov r12, qword [rsp + 0x40]
mov rbx, r14
shl rbx, 5
test byte [rbx + r8 + 0x1c], 0x40
jne 0x14014a7e1
mov rdx, qword [rbx + r8 + 8]
test rdx, rdx
je 0x14014a7b6
mov rcx, r12
call fcn.14012cce0
mov r8, qword [rsp + 0x70]
mov rdx, qword [rbx + r8 + 0x10]
test rdx, rdx
je 0x14014a7cd
mov rcx, r12
call fcn.140124fb0
mov r8, qword [rsp + 0x70]
mov ecx, dword [r8]
dec r14
dec ecx
sub rbx, 0x20
mov dword [r8], ecx
test r14, r14
jg 0x14014a797
mov r12, qword [rsp + 0x48]
mov edx, esi
test ecx, ecx
jle 0x14014a807
lea rcx, [r8 + 8]
test byte [rcx + 0x14], 0x40
jne 0x14014a7fc
mov rax, qword [rcx]
mov byte [rax], 0x79
inc edx
add rcx, 0x20
cmp edx, dword [r8]
jl 0x14014a7f0
mov r10, qword [rbp + 0xe0]
mov r14d, 0x4000
mov r11, qword [rbp + 0xe8]
dec dword [r10 + 0x44]
mov r8d, dword [r10 + 0x44]
mov dword [rbp - 0x40], r8d
test dword [r11 + 4], r14d
jne 0x14014a834
mov word [r11 + 2], 0x140
cmp qword [r11 + 0x60], rsi
je 0x14014a853
mov rdx, r11
mov rcx, r10
call fcn.1400e93d0
mov r10, qword [rbp + 0xe0]
mov r11, qword [rbp + 0xe8]
cmp dword [r11 + 8], esi
jne 0x14014a88c
test r15d, r15d
js 0x14014a88c
mov rax, qword [rdi]
cmp byte [rax + 0x67], sil
je 0x14014a870
lea rax, [0x140243af8]
jmp 0x14014a882
movsxd rax, r15d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
or byte [rbp + 0x84], 1
mov byte [rax], 0x77
test byte [r11 + 4], 1
je 0x14014a9b7
mov r15d, dword [r10 + 0x34]
xor r9d, r9d
xor r8d, r8d
mov dword [rbp - 0x34], r15d
mov rcx, r10
lea eax, [r15 + 1]
mov dword [r10 + 0x34], eax
mov rdx, qword [r11 + 0x20]
call fcn.14013a210
movsxd r14, dword [rdi + 0x90]
mov rbx, rax
cmp dword [rdi + 0x94], r14d
jg 0x14014a8e7
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r15d
mov rcx, rdi
lea edx, [r9 + 0x76]
call fcn.1400f9f80
mov r14d, eax
jmp 0x14014a912
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [rdi]
mov eax, r14d
cmp byte [rcx + 0x67], sil
je 0x14014a93f
cmp qword [rcx + 0x308], rsi
jne 0x14014a984
test rbx, rbx
je 0x14014a984
add dword [rbx], 0xffffffff
jne 0x14014a984
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
call fcn.140125200
jmp 0x14014a984
test r14d, r14d
jns 0x14014a94c
mov eax, dword [rdi + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
cmp byte [rax + rcx*8 + 1], sil
lea rdx, [rax + rcx*8]
je 0x14014a977
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, rdi
call fcn.140173730
jmp 0x14014a984
test rbx, rbx
je 0x14014a984
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf8
movsxd rax, dword [rdi + 0x90]
mov dword [rbp - 0x30], r14d
test eax, eax
jle 0x14014a9a5
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 8
mov r11, qword [rbp + 0xe8]
mov r15b, 3
mov r14d, 0x4000
jmp 0x14014a9ba
xor r15b, r15b
mov byte [rbp - 0x37], r15b
mov dword [rsp + 0x54], r15d
cmp dword [rbp - 0x78], esi
jne 0x14014acb7
test r12, r12
jne 0x14014acb7
movzx ebx, word [r11 + 4]
movzx eax, r13b
mov r12, qword [rbp + 0xe0]
and bx, r14w
mov r14, qword [r11 + 0x70]
neg al
sbb cx, cx
and cx, 0x100
or bx, cx
test r14, r14
je 0x14014aa11
mov rdx, r11
mov rcx, r12
call fcn.14016b240
mov r11, qword [rbp + 0xe8]
movsx eax, word [r11 + 2]
mov rcx, r12
mov r9, qword [rbp - 0x80]
mov r8, qword [rbp - 0x58]
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x38], eax
mov rax, qword [r11 + 0x20]
mov word [rsp + 0x30], bx
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], rax
call fcn.140164a50
mov rbx, rax
test rax, rax
je 0x14014cbd1
mov r10, qword [rbp + 0xe8]
movzx eax, word [rax + 0x48]
cmp ax, word [r10 + 2]
jge 0x14014aa65
mov word [r10 + 2], ax
test r13b, r13b
je 0x14014aa81
movzx ecx, byte [rbx + 0x43]
test cl, cl
movzx r15d, r15b
cmovne r15d, ecx
mov dword [rsp + 0x54], r15d
mov byte [rbp - 0x37], r15b
mov r8, qword [rbp - 0x80]
test r8, r8
je 0x14014aad8
movsx eax, byte [rbx + 0x41]
test al, al
jns 0x14014aa99
mov edx, esi
mov dword [rbp + 0x68], edx
jmp 0x14014aa9e
mov edx, eax
mov dword [rbp + 0x68], eax
test byte [rbx + 0x44], 4
jne 0x14014aaa9
mov eax, dword [rbx + 0x30]
jmp 0x14014aac7
movzx eax, byte [rbx + 0x40]
imul rcx, rax, 0x70
cmp qword [rcx + rbx + 0x328], rsi
je 0x14014aac0
mov eax, dword [rbx + 0x30]
jmp 0x14014aac7
mov eax, dword [rcx + rbx + 0x300]
cmp edx, dword [r8]
mov dword [rbp + 0x80], eax
cmove r8, rsi
mov qword [rbp + 0x60], r8
mov eax, dword [rbp - 0x68]
test eax, eax
js 0x14014aaf5
test r8, r8
jne 0x14014aaf5
mov edx, eax
mov rcx, rdi
call fcn.140154ea0
mov r10, qword [rbp + 0xe8]
mov rdx, r10
test r14, r14
je 0x14014ac6e
mov rax, qword [rbp + 0xe0]
mov r8, rbx
mov r15d, dword [r12 + 0x44]
mov rcx, rax
inc dword [rax + 0x38]
mov r13d, dword [rax + 0x38]
lea r12d, [r15 - 1]
sub r15d, 2
mov dword [rsp + 0x20], r12d
mov r9d, r13d
lea r14d, [r15 - 1]
mov dword [rax + 0x44], r14d
call fcn.14016b850
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014ab5e
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, r14d
mov rcx, rdi
lea edx, [r8 + 9]
call fcn.1400f9f80
jmp 0x14014ab88
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [rdi + 0x18]
not r12d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014aba4
mov r8d, r12d
mov rdx, rdi
call fcn.140110740
jmp 0x14014abb4
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, r12d
mov dword [rcx + rdx*4], eax
mov rax, qword [rbp + 0xf0]
lea r9, [rbp + 0x60]
mov rbx, qword [rbp + 0xe8]
mov r8d, 0xffffffff
mov r12, qword [rbp + 0xe0]
mov rdx, rbx
mov dword [rsp + 0x38], r14d
mov rcx, r12
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x80], esi
call fcn.1401147b0
mov rcx, qword [rdi + 0x18]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014ac18
mov r8d, r15d
mov rdx, rdi
call fcn.140110740
jmp 0x14014ac29
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd r9, r15d
mov dword [rcx + r9*4], eax
mov r8d, r13d
mov edx, 0x43
mov rcx, rdi
call fcn.140154730
mov rcx, qword [rdi + 0x18]
not r14d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014ac5f
mov r8d, r14d
mov rdx, rdi
call fcn.140110740
mov r14, qword [rbp + 0xf0]
jmp 0x14014cb41
movsxd rdx, r14d
mov r14, qword [rbp + 0xf0]
jmp 0x14014cb34
mov eax, dword [rbx + 0x34]
lea r9, [rbp + 0x60]
mov r14, qword [rbp + 0xf0]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], eax
mov rcx, r12
mov eax, dword [rbx + 0x30]
mov dword [rsp + 0x30], eax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.1401147b0
mov rcx, rbx
call fcn.140168870
mov rbx, qword [rbp + 0xe8]
jmp 0x14014cb41
mov dword [rsp + 0x7c], esi
mov dword [rbp - 0x64], esi
mov dword [rbp - 0x6c], esi
test r12, r12
je 0x14014adb9
mov rcx, qword [r11 + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x14014aced
add rcx, 0x22
nop dword [rax + rax]
dec eax
mov word [rcx], si
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x14014ace0
mov eax, dword [r12]
test eax, eax
jle 0x14014ad0d
lea rcx, [r12 + 0x22]
nop word [rax + rax]
dec eax
mov word [rcx], si
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x14014ad00
cmp word [r11 + 2], 0x42
jle 0x14014ad1c
mov word [r11 + 2], 0x42
mov r9, qword [rbp - 0x80]
test r9, r9
je 0x14014adbe
mov eax, dword [r12]
cmp eax, dword [r9]
jne 0x14014adbe
mov edx, esi
test eax, eax
jle 0x14014ad68
mov r8, r9
lea rcx, [r12 + 0x18]
sub r8, r12
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 0x20]
and al, 1
inc edx
mov byte [rcx - 0x20], al
mov eax, dword [r12]
cmp edx, eax
jl 0x14014ad50
cmp eax, dword [r9]
jne 0x14014adbe
mov r14d, esi
test eax, eax
jle 0x14014adb0
mov r15, r9
lea rbx, [r12 + 0x18]
sub r15, r12
nop
movzx eax, byte [rbx + r15]
cmp byte [rbx], al
jne 0x14014adbe
mov r8, qword [r15 + rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [rbx - 0x10]
xor ecx, ecx
call fcn.14012c710
test eax, eax
jne 0x14014adbe
inc r14d
add rbx, 0x20
cmp r14d, dword [r12]
jl 0x14014ad80
mov dword [rbp - 0x6c], 1
jmp 0x14014adbe
mov word [r11 + 2], si
mov rbx, qword [rbp + 0xe0]
mov edx, 0x38
mov r14, qword [rsp + 0x40]
mov rcx, r14
mov eax, dword [rbx + 0x44]
dec eax
mov dword [rsp + 0x50], eax
mov dword [rbx + 0x44], eax
call fcn.140125140
mov qword [rsp + 0x68], rax
mov r13, rax
test rax, rax
je 0x14014ae89
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 [rbx]
test rcx, rcx
je 0x14014ae1e
lea edx, [rax + 0x18]
call fcn.140125140
jmp 0x14014ae28
mov ecx, 0x18
call fcn.14013b740
mov rcx, rax
test rax, rax
je 0x14014ae52
mov rax, qword [rbx + 0xc0]
mov qword [rcx], rax
lea rax, [0x1400dbff0]
mov qword [rbx + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r13
jmp 0x14014ae89
mov rdx, qword [r13 + 0x18]
mov rbx, qword [rbx]
test rdx, rdx
je 0x14014ae66
mov rcx, rbx
call fcn.140124fb0
mov rdx, qword [r13 + 0x28]
test rdx, rdx
je 0x14014ae77
mov rcx, rbx
call fcn.140124fb0
mov rdx, r13
mov rcx, rbx
call fcn.140124fb0
mov rbx, qword [rbp + 0xe0]
cmp byte [r14 + 0x67], sil
jne 0x14014cbca
mov rax, qword [rbp + 0xe8]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x34], eax
mov rax, qword [rsp + 0x58]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x20], r13
movdqu xmmword [rbp + 0x28], xmm0
movdqu xmmword [rbp + 0x38], xmm1
test r12, r12
je 0x14014aecd
mov eax, dword [r12]
jmp 0x14014aecf
mov eax, esi
mov r15, qword [rsp + 0x70]
mov word [r13 + 2], ax
mov qword [r13 + 0x10], r12
test r15, r15
je 0x14014af56
lea rbx, [r15 + 8]
mov r14d, esi
cmp dword [r15], esi
jle 0x14014af56
lea r13, [0x1400dd410]
lea r12, [0x140164940]
lea rdi, [0x140164930]
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x10]
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], rdi
mov dword [rbp - 8], esi
mov qword [rbp], rax
mov qword [rbp - 0x28], rsi
test rdx, rdx
je 0x14014af3c
lea rcx, [rbp - 0x28]
call fcn.140164620
inc r14d
add rbx, 0x20
cmp r14d, dword [r15]
jl 0x14014af10
mov rdi, qword [rbp - 0x48]
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0x48]
mov r15, qword [rbp - 0x80]
test r15, r15
je 0x14014afc6
lea rbx, [r15 + 8]
mov r14d, esi
cmp dword [r15], esi
jle 0x14014afc6
lea r13, [0x1400dd410]
lea r12, [0x140164940]
lea rdi, [0x140164930]
mov rdx, qword [rbx]
lea rax, [rbp + 0x10]
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], rdi
mov dword [rbp - 8], esi
mov qword [rbp], rax
mov qword [rbp - 0x28], rsi
test rdx, rdx
je 0x14014afac
lea rcx, [rbp - 0x28]
call fcn.140164620
inc r14d
add rbx, 0x20
cmp r14d, dword [r15]
jl 0x14014af80
mov rdi, qword [rbp - 0x48]
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0x48]
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x14014b05f
test r12, r12
je 0x14014b023
mov rbx, qword [rbp + 0xe8]
xorps xmm0, xmm0
mov rax, qword [rbp + 0xe0]
mov qword [rbp - 0x28], rax
lea rax, [0x1400fa3c0]
movdqu xmmword [rbp - 0x18], xmm0
mov rdx, qword [rbx + 0x40]
mov qword [rbp - 8], rsi
mov qword [rbp - 0x20], rax
mov qword [rbp], rbx
test rdx, rdx
je 0x14014b01b
lea rcx, [rbp - 0x28]
call fcn.140164620
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x58], rax
lea rax, [0x1400dd410]
mov dword [rbp - 8], esi
mov qword [rbp - 0x20], rax
mov rdx, rcx
lea rax, [0x140164940]
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x28]
lea rax, [0x140164930]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x10]
mov qword [rbp], rax
call fcn.140164620
mov rbx, qword [rbp + 0xe8]
mov eax, dword [r13 + 0x20]
mov dword [r13 + 0x24], eax
cmp qword [rbx + 0x38], rsi
jne 0x14014b17f
cmp qword [rbx + 0x40], rsi
jne 0x14014b17f
cmp dword [r13 + 0x30], 1
jne 0x14014b17f
mov rax, qword [r13 + 0x28]
mov r8, qword [rax]
mov r11, qword [r8 + 0x20]
test r11, r11
je 0x14014b17f
cmp dword [r11], 1
jne 0x14014b17f
test dword [r8 + 4], 0x1000000
jne 0x14014b17f
mov r14, qword [rsp + 0x40]
test dword [r14 + 0x60], 0x10000
jne 0x14014b17f
mov r8, qword [r8 + 8]
lea r10, [0x140205504]
mov rdx, r8
lea r15, [0x140202d60]
sub r10, r8
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx]
movzx r9d, byte [rdx + r10]
cmp eax, r9d
jne 0x14014b116
test eax, eax
jne 0x14014b124
mov rcx, qword [r11 + 8]
call fcn.140128c70
neg eax
mov r12b, 1
sbb bl, bl
and bl, 2
jmp 0x14014b149
movzx ecx, byte [rax + r15]
movzx eax, byte [r9 + r15]
cmp ecx, eax
jne 0x14014b129
inc rdx
jmp 0x14014b0f0
lea r9, [0x140205508]
sub r9, r8
movzx eax, byte [r8]
movzx edx, byte [r8 + r9]
cmp eax, edx
jne 0x14014b16c
test eax, eax
jne 0x14014b17a
mov bl, 1
mov r12b, 2
xor r8d, r8d
mov rdx, r11
mov rcx, r14
call fcn.14012e110
mov qword [rbp + 0x58], rax
test rax, rax
je 0x14014b163
mov byte [rax + 0x18], bl
mov rbx, qword [rbp + 0xe8]
jmp 0x14014b182
movzx ecx, byte [rax + r15]
movzx eax, byte [rdx + r15]
cmp ecx, eax
jne 0x14014b17f
inc r8
jmp 0x14014b133
xor r12b, r12b
lea rdx, [rbp + 0x10]
mov rcx, r13
call fcn.1400dd310
mov r10, qword [rsp + 0x40]
cmp byte [r10 + 0x67], sil
jne 0x14014b58e
mov r15, qword [rsp + 0x48]
test r15, r15
je 0x14014c421
cmp dword [r13 + 0x30], 1
mov r14, rsi
mov qword [rbp + 0x48], rsi
mov word [rsp + 0x78], si
jne 0x14014b2b1
mov rax, qword [r13 + 0x28]
cmp dword [rax + 0x10], esi
jl 0x14014b2b1
mov rax, qword [rax]
test rax, rax
je 0x14014b2b1
test dword [rax + 4], 0x1000
jne 0x14014b2b1
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14014b2b1
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x14014b216
xor r9d, r9d
xor r8d, r8d
mov rcx, r10
call fcn.1400f0800
mov r10, qword [rsp + 0x40]
mov rbx, rax
jmp 0x14014b219
mov rbx, rsi
xor r8d, r8d
mov rdx, r15
mov rcx, r10
call fcn.14012e110
mov qword [rbp + 0x48], rax
mov r14, rax
test rax, rax
jne 0x14014b24e
mov rax, qword [rbp + 0xe0]
mov rdx, rbx
mov rcx, qword [rax]
call fcn.14012dd50
mov r14, rax
mov qword [rbp + 0x48], rax
jmp 0x14014b29e
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [r14 + 4], ecx
jge 0x14014b278
mov rax, qword [rbp + 0xe0]
mov r8, rbx
mov rdx, r14
mov rcx, qword [rax]
call fcn.14012dc60
mov r14, rax
mov qword [rbp + 0x48], rax
jmp 0x14014b29e
movups xmm0, xmmword [0x140202888]
shl rax, 5
movups xmm1, xmmword [0x140202898]
mov dword [r14], ecx
movups xmmword [rax + r14 + 8], xmm0
movups xmmword [rax + r14 + 0x18], xmm1
mov qword [rax + r14 + 8], rbx
mov rax, r14
neg rax
sbb bx, bx
and bx, 0x500
mov word [rsp + 0x78], bx
mov rbx, qword [rbp + 0xe0]
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
mov eax, dword [rbx + 0x34]
mov dword [r13 + 4], eax
inc dword [rbx + 0x34]
mov r9d, dword [r13 + 0x20]
call fcn.14013a210
movsxd r9, dword [rdi + 0x90]
mov r12, rax
movzx edx, word [r13 + 2]
mov r8d, dword [r13 + 4]
mov qword [rbp + 8], rax
mov dword [rbp - 0x48], r9d
cmp dword [rdi + 0x94], r9d
jg 0x14014b314
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x77
mov rcx, rdi
call fcn.1400f9f80
mov r9d, eax
mov dword [rbp - 0x48], eax
jmp 0x14014b342
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [rdi]
mov eax, r9d
cmp byte [rcx + 0x67], sil
je 0x14014b372
cmp qword [rcx + 0x308], rsi
jne 0x14014b3b7
test r12, r12
je 0x14014b3b7
add dword [r12], 0xffffffff
jne 0x14014b3b7
mov rcx, qword [r12 + 0x10]
mov rdx, r12
call fcn.140125200
jmp 0x14014b3b7
test r9d, r9d
jns 0x14014b37f
mov eax, dword [rdi + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
cmp byte [rax + rcx*8 + 1], sil
lea rdx, [rax + rcx*8]
je 0x14014b3aa
mov r9d, 0xfffffff8
mov r8, r12
mov rcx, rdi
call fcn.140173730
jmp 0x14014b3b7
test r12, r12
je 0x14014b3b7
mov qword [rdx + 0x10], r12
mov byte [rdx + 1], 0xf8
mov eax, dword [rbx + 0x38]
mov r8, qword [rsp + 0x48]
inc eax
mov r9, qword [rbp + 0xe0]
mov dword [rbp - 0x50], eax
lea edx, [rax + 1]
mov eax, dword [rbx + 0x44]
lea ecx, [rdx + 2]
mov dword [rbp - 0x70], edx
mov dword [rbx + 0x38], ecx
dec eax
mov dword [rsp + 0x60], ecx
mov dword [rbp - 0x60], eax
lea r15d, [rax - 1]
mov dword [rbx + 0x44], r15d
lea ebx, [rcx + 1]
add ecx, dword [r8]
mov dword [r9 + 0x38], ecx
mov dword [rbp - 0x78], r15d
lea eax, [rcx + 1]
add ecx, dword [r8]
mov dword [r9 + 0x38], ecx
movsxd rcx, dword [rdi + 0x90]
mov dword [rbp - 0x74], eax
cmp dword [rdi + 0x94], ecx
jg 0x14014b432
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 0x47]
call fcn.1400f9f80
mov r8, qword [rsp + 0x48]
jmp 0x14014b45b
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov edx, dword [r8]
movsxd rcx, dword [rdi + 0x90]
dec edx
add edx, ebx
cmp dword [rdi + 0x94], ecx
jg 0x14014b489
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov rcx, rdi
lea edx, [r8 + 0x4b]
call fcn.1400f9f80
jmp 0x14014b4b2
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014b4dc
mov r8d, dword [rsp + 0x60]
mov r9d, r15d
mov edx, 0xa
mov dword [rsp + 0x20], esi
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014b50d
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov eax, dword [rbp - 0x6c]
mov edx, 0x80
mov r9, qword [rsp + 0x48]
neg eax
mov r8, qword [rbp - 0x58]
mov eax, 0x40
sbb cx, cx
mov dword [rsp + 0x38], esi
and cx, 0x200
cmp byte [rbp + 0xf8], 2
cmove ax, dx
mov rdx, qword [rsp + 0x58]
or cx, ax
mov rax, qword [rbp + 0xe8]
or cx, word [rsp + 0x78]
mov word [rsp + 0x30], cx
mov rcx, qword [rbp + 0xe0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
call fcn.140164a50
mov qword [rbp - 0x58], rax
mov r15, rax
test rax, rax
jne 0x14014b5b8
test r14, r14
je 0x14014b589
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call fcn.1400f1410
mov r10, qword [rsp + 0x40]
mov r12, qword [rbp + 0xe0]
mov r13d, 1
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x14014cbd7
mov rdx, rax
mov rcx, r10
call fcn.1400f1410
jmp 0x14014cbd7
mov r14, qword [rbp + 0xe0]
cmp qword [r14 + 0x60], rsi
lea rbx, [r14 + 0x60]
je 0x14014b62c
mov r8d, dword [r13 + 0x24]
mov dword [r13 + 0x20], r8d
cmp word [r13 + 2], si
jbe 0x14014b620
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax + 0x38]
mov ecx, dword [rax]
dec ecx
test r8d, r8d
jle 0x14014b614
mov rdx, qword [r13 + 0x18]
add rdx, 0x16
nop dword [rax]
nop dword [rax + rax]
movsx eax, word [rdx]
lea rdx, [rdx + 0x18]
cmp eax, ecx
cmovle eax, ecx
mov ecx, eax
sub r8, 1
jne 0x14014b600
inc cx
lea rbx, [r14 + 0x60]
mov word [r13 + 2], cx
lea rdx, [rbp + 0x10]
mov rcx, r13
call fcn.1400dd310
mov eax, dword [r14 + 0x38]
mov ecx, esi
inc eax
mov dword [r13 + 0xc], eax
mov eax, dword [r14 + 0x38]
add eax, dword [r13 + 0x30]
add eax, dword [r13 + 0x20]
mov dword [r14 + 0x38], eax
movzx eax, byte [r15 + 0x43]
movsx edx, byte [r15 + 0x41]
test dl, dl
mov dword [rbp - 0x80], eax
mov rax, qword [rsp + 0x48]
cmovns ecx, edx
cmp ecx, dword [rax]
jne 0x14014b671
mov r15d, esi
mov dword [rbp + 0xf8], esi
jmp 0x14014b9fe
cmp byte [rbp + 0xf8], sil
je 0x14014b68e
mov rax, qword [rbp + 0xe8]
lea r9, str.DISTINCT
test byte [rax + 4], 1
je 0x14014b695
lea r9, str.GROUP_BY
mov rbx, qword [rbp + 0xe0]
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, rbx
xor edx, edx
call fcn.14015e600
mov r14, qword [rsp + 0x68]
mov r10, qword [rsp + 0x48]
mov dword [rbp + 0xf8], 1
mov eax, dword [r14 + 0x20]
mov r15d, dword [r10]
mov r13d, r15d
mov edx, r15d
test eax, eax
jle 0x14014b703
mov r8, qword [r14 + 0x18]
mov r9d, eax
add r8, 0x16
nop dword [rax]
movsx ecx, word [r8]
lea eax, [r13 + 1]
cmp ecx, edx
lea r8, [r8 + 0x18]
cmovl eax, r13d
mov r13d, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x14014b6e0
cmp r13d, 1
jne 0x14014b730
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x14014b71e
mov r12d, dword [rbx + 0x38]
inc r12d
mov dword [rbx + 0x38], r12d
jmp 0x14014b758
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r12d, dword [rbx + rax*4 + 0xe0]
jmp 0x14014b758
mov ecx, dword [rbx + 0x28]
mov r12d, dword [rbx + 0x2c]
cmp r13d, ecx
jg 0x14014b74b
lea eax, [r12 + r13]
sub ecx, r13d
mov dword [rbx + 0x2c], eax
mov dword [rbx + 0x28], ecx
jmp 0x14014b758
mov eax, dword [rbx + 0x38]
lea r12d, [rax + 1]
add eax, r13d
mov dword [rbx + 0x38], eax
xor r9d, r9d
mov byte [rsp + 0x20], sil
mov r8d, r12d
mov rdx, r10
mov rcx, rbx
call fcn.140128e50
mov rcx, r14
mov byte [r14], 1
mov r14d, esi
cmp dword [rcx + 0x20], esi
jle 0x14014b7c6
mov rbx, rsi
mov rsi, qword [rbp + 0xe0]
nop word [rax + rax]
mov rdx, qword [rcx + 0x18]
movsx eax, word [rdx + rbx + 0x16]
cmp eax, r15d
jl 0x14014b7b7
mov rdx, qword [rdx + rbx + 8]
lea r8d, [r12 + r15]
mov rcx, rsi
call fcn.140128de0
mov rcx, qword [rsp + 0x68]
inc r15d
inc r14d
add rbx, 0x18
cmp r14d, dword [rcx + 0x20]
jl 0x14014b790
xor esi, esi
mov r15, qword [rbp + 0xe0]
mov byte [rcx], 0
movzx eax, byte [r15 + 0x1f]
test al, al
jne 0x14014b7e5
mov ebx, dword [r15 + 0x38]
inc ebx
mov dword [r15 + 0x38], ebx
jmp 0x14014b7f6
dec al
movzx eax, al
mov byte [r15 + 0x1f], al
mov ebx, dword [r15 + rax*4 + 0xe0]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014b81e
mov r9d, r13d
mov dword [rsp + 0x20], ebx
mov r8d, r12d
mov edx, 0x61
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014b84c
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rsi
mov r14, qword [rsp + 0x68]
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r14 + 4]
cmp dword [rdi + 0x94], ecx
jg 0x14014b87d
mov r8d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x8b
mov r9d, ebx
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014b8a9
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x8b
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
test ebx, ebx
je 0x14014b8c2
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x14014b8c2
mov dword [r15 + rax*4 + 0xe0], ebx
inc byte [r15 + 0x1f]
cmp r13d, 1
jne 0x14014b8e4
test r12d, r12d
je 0x14014b8f2
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x14014b8f2
mov dword [r15 + rax*4 + 0xe0], r12d
inc byte [r15 + 0x1f]
jmp 0x14014b8f2
cmp r13d, dword [r15 + 0x28]
jle 0x14014b8f2
mov dword [r15 + 0x28], r13d
mov dword [r15 + 0x2c], r12d
mov rcx, qword [rbp - 0x58]
call fcn.140168870
mov r8d, dword [r15 + 0x34]
mov dword [r14 + 8], r8d
inc dword [r15 + 0x34]
movzx eax, byte [r15 + 0x1f]
mov dword [rsp + 0x7c], r8d
test al, al
jne 0x14014b921
mov edx, dword [r15 + 0x38]
inc edx
mov dword [r15 + 0x38], edx
jmp 0x14014b932
dec al
movzx eax, al
mov byte [r15 + 0x1f], al
mov edx, dword [r15 + rax*4 + 0xe0]
movsxd rcx, dword [rdi + 0x90]
mov dword [rbp - 0x64], edx
cmp dword [rdi + 0x94], ecx
jg 0x14014b95b
mov r9d, edx
mov dword [rsp + 0x20], r13d
mov edx, 0x79
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014b989
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x79
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [rdi + 0x90]
mov r13, r14
mov edx, dword [r14 + 4]
cmp dword [rdi + 0x94], ecx
jg 0x14014b9ba
mov r9d, dword [rsp + 0x50]
mov r8d, edx
mov edx, 0x22
mov dword [rsp + 0x20], esi
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014b9ea
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x50]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x22
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov r12, qword [rbp + 8]
lea rbx, [r15 + 0x60]
mov r15d, dword [rbp + 0xf8]
mov byte [r14 + 1], 1
cmp qword [rbx], 0
je 0x14014ba53
cmp dword [r13 + 0x30], 0
lea rax, [0x1400dc120]
xorps xmm0, xmm0
mov qword [rbp - 0x20], rax
xorps xmm1, xmm1
mov qword [rbp - 0x28], rsi
movdqu xmmword [rbp - 0x18], xmm0
mov r14d, esi
movdqu xmmword [rbp - 8], xmm1
jle 0x14014ba53
mov rbx, rsi
mov rax, qword [r13 + 0x28]
mov rdx, qword [rbx + rax]
test rdx, rdx
je 0x14014ba46
lea rcx, [rbp - 0x28]
call fcn.140164620
inc r14d
add rbx, 0x18
cmp r14d, dword [r13 + 0x30]
jl 0x14014ba30
cmp dword [rbp - 0x6c], 0
je 0x14014baab
mov rax, qword [rsp + 0x40]
test byte [rax + 0x60], 4
jne 0x14014baab
test r15d, r15d
jne 0x14014ba73
mov rax, qword [rbp - 0x58]
test byte [rax + 0x44], 8
je 0x14014baab
mov rcx, qword [rdi]
mov qword [rbp + 0x60], rsi
cmp byte [rcx + 0x67], 0
jne 0x14014baab
movsxd rax, dword [rbp - 0x68]
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.1400f6d50
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rsi
movsxd r15, dword [rdi + 0x90]
mov r14d, dword [rbp + 0xf8]
mov dword [rbp - 0x6c], r15d
test r14d, r14d
je 0x14014baeb
mov edx, dword [r13 + 4]
cmp dword [rdi + 0x94], r15d
jg 0x14014bb46
mov eax, dword [rsp + 0x7c]
mov r8d, edx
mov r9d, dword [rbp - 0x64]
mov edx, 0x85
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.1400f9f80
mov edx, dword [rsp + 0x7c]
mov rax, qword [rsp + 0x48]
mov ebx, esi
cmp dword [rax], 0
jle 0x14014bbea
mov r12d, dword [rbp + 0xf8]
lea r14, [rax + 8]
mov r15d, dword [rbp - 0x74]
nop
lea r8d, [r15 + rbx]
test r12d, r12d
je 0x14014bbb0
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014bb81
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, rdi
mov edx, 0x5e
call fcn.1400f9f80
jmp 0x14014bbc4
mov r8d, dword [rbp - 0x64]
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x7c]
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], rsi
jmp 0x14014baef
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], rsi
jmp 0x14014bbc8
mov rcx, qword [rbp + 0xe0]
mov byte [r13], 1
mov rdx, qword [r14]
call fcn.140128de0
mov edx, dword [rsp + 0x7c]
mov rax, qword [rsp + 0x48]
inc ebx
add r14, 0x20
cmp ebx, dword [rax]
jl 0x14014bb10
mov r15d, dword [rbp - 0x6c]
mov r12, qword [rbp + 8]
mov r14d, dword [rbp + 0xf8]
test r12, r12
je 0x14014bbf3
inc dword [r12]
movsxd rdx, dword [rdi + 0x90]
mov r8d, dword [rax]
cmp dword [rdi + 0x94], edx
jg 0x14014bc27
mov r9d, dword [rbp - 0x74]
mov edx, 0x5a
mov dword [rsp + 0x20], r8d
mov rcx, rdi
mov r8d, dword [rsp + 0x60]
inc r8d
call fcn.1400f9f80
mov edx, eax
jmp 0x14014bc62
mov r9d, dword [rsp + 0x60]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
inc r9d
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], r9d
mov r9d, dword [rbp - 0x74]
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8], 0x5a
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x14014bc90
cmp qword [rax + 0x308], 0
jne 0x14014bcd5
test r12, r12
je 0x14014bcd5
add dword [r12], 0xffffffff
jne 0x14014bcd5
mov rcx, qword [r12 + 0x10]
mov rdx, r12
call fcn.140125200
jmp 0x14014bcd5
test edx, edx
jns 0x14014bc9c
mov edx, dword [rdi + 0x90]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x14014bcc8
mov r9d, 0xfffffff8
mov r8, r12
mov rcx, rdi
call fcn.140173730
jmp 0x14014bcd5
test r12, r12
je 0x14014bcd5
mov qword [rdx + 0x10], r12
mov byte [rdx + 1], 0xf8
movsxd rbx, dword [rdi + 0x90]
lea edx, [rbx + 1]
cmp dword [rdi + 0x94], ebx
jg 0x14014bcff
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, rdi
lea edx, [r9 + 0xe]
call fcn.1400f9f80
jmp 0x14014bd28
mov rax, qword [rdi + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [rdi + 0x90], edx
mov dword [rax + rcx*8], send
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rsp + 0x48]
mov r8d, dword [rbp - 0x74]
mov edx, dword [rax]
mov rax, qword [rbp + 0xe0]
mov r10, qword [rax + 0x10]
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x14014bd69
mov r9d, dword [rsp + 0x60]
mov rcx, r10
mov dword [rsp + 0x20], edx
inc r9d
mov edx, 0x4f
call fcn.1400f9f80
jmp 0x14014bda0
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 [rsp + 0x60]
inc r8d
mov dword [rax + rcx*8], 0x4f
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014bdd4
mov r12d, dword [rbp - 0x70]
mov edx, 0xa
mov r9d, dword [rbp - 0x60]
inc r12d
mov r8d, r12d
mov dword [rsp + 0x20], esi
mov rcx, rdi
call fcn.1400f9f80
mov r8d, dword [rbp - 0x70]
jmp 0x14014be0c
mov r8d, dword [rbp - 0x70]
lea eax, [rcx + 1]
mov edx, dword [rbp - 0x60]
lea rcx, [rcx + rcx*2]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
lea r12d, [r8 + 1]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014be33
mov r9d, dword [rsp + 0x50]
mov edx, 0x3b
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.1400f9f80
jmp 0x14014be64
mov edx, dword [rsp + 0x50]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014be8f
mov r9d, dword [rbp - 0x78]
lea r8d, [r12 + 1]
mov edx, 0xa
mov dword [rsp + 0x20], esi
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014bec3
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
lea edx, [r12 + 1]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x78]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x14014bedb
lea rax, [0x140243af8]
jmp 0x14014beea
mov rax, qword [rdi + 0x88]
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov ebx, dword [rbp - 0x50]
mov r8, r13
mov r9d, dword [rbp - 0x80]
mov rcx, qword [rbp + 0xe0]
mov dword [rax + 8], edx
mov edx, ebx
call fcn.140171660
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014bf2e
mov edx, 0x47
mov dword [rsp + 0x20], esi
mov r9d, ebx
mov rcx, rdi
lea r8d, [rdx - 0x46]
call fcn.1400f9f80
jmp 0x14014bf5e
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
test r14d, r14d
je 0x14014bfbe
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r13 + 4]
cmp dword [rdi + 0x94], ecx
jg 0x14014bf8f
mov r8d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x25
mov r9d, r15d
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014bffb
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
jmp 0x14014bffb
mov rcx, qword [rbp - 0x58]
call fcn.140168870
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x14014bffb
movsxd rax, dword [rbp - 0x48]
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.1400f6d50
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rsi
mov rdx, qword [rbp + 0x48]
test rdx, rdx
je 0x14014c00e
mov rcx, qword [rsp + 0x40]
call fcn.1400f1410
movsxd rcx, dword [rdi + 0x90]
mov ebx, dword [rbp - 0x60]
cmp dword [rdi + 0x94], ecx
jg 0x14014c039
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov edx, 0xa
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014c066
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c08f
mov r9d, dword [rsp + 0x50]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r8 + 9]
call fcn.1400f9f80
jmp 0x14014c0bc
mov edx, dword [rsp + 0x50]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd r14, dword [rdi + 0x90]
cmp dword [rdi + 0x94], r14d
jg 0x14014c0e7
mov r9d, dword [rbp - 0x70]
mov edx, 0x47
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea r8d, [rdx - 0x46]
call fcn.1400f9f80
jmp 0x14014c11b
mov edx, dword [rbp - 0x70]
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c142
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x43]
call fcn.1400f9f80
jmp 0x14014c170
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [rdi + 0x18]
not ebx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014c18b
mov r8d, ebx
mov rdx, rdi
call fcn.140110740
jmp 0x14014c19c
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd r8, ebx
mov dword [rcx + r8*4], eax
movsxd rax, dword [rdi + 0x90]
mov r15d, dword [rbp - 0x50]
lea r8d, [rax + 2]
lea ebx, [rax + 1]
cmp dword [rdi + 0x94], eax
jg 0x14014c1cf
mov r9d, r8d
mov dword [rsp + 0x20], esi
mov r8d, r15d
mov edx, 0x3b
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014c1fa
lea rcx, [rax + rax*2]
mov dword [rdi + 0x90], ebx
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x3b
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c221
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x43]
call fcn.1400f9f80
jmp 0x14014c24f
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [rbp + 0xe0]
mov rdx, r13
call fcn.1400f2900
mov rdx, qword [rbp + 0x50]
mov r9d, reloc.WS2_32.dll_recv
mov rcx, qword [rbp + 0xe0]
mov r8d, ebx
call fcn.14012cfc0
mov rdx, qword [rbp + 0xe8]
lea rax, [rbp - 0x38]
mov rcx, qword [rbp + 0xe0]
lea r9, [rbp + 0x60]
mov dword [rsp + 0x38], r14d
mov r8d, 0xffffffff
mov r14, qword [rbp + 0xf0]
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.1401147b0
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c2d9
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x43]
call fcn.1400f9f80
jmp 0x14014c307
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [rdi + 0x18]
mov edx, dword [rbp - 0x78]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014c325
mov r8d, edx
mov rdx, rdi
call fcn.140110740
jmp 0x14014c336
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd r8, edx
mov dword [rcx + r8*4], eax
mov r12, qword [rbp + 0xe0]
mov rdx, r13
mov rcx, r12
call fcn.140110460
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c36f
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, r15d
mov rcx, rdi
lea edx, [r8 + 0x47]
call fcn.1400f9f80
jmp 0x14014c399
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c3c2
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x43]
call fcn.1400f9f80
jmp 0x14014c3f3
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], rsi
cmp word [rsp + 0x78], 0
je 0x14014c418
mov eax, dword [rbp - 0x80]
test eax, eax
je 0x14014c418
mov r8, qword [r13 + 0x28]
mov edx, eax
mov rcx, r12
mov r9d, dword [r8 + 0x14]
mov r8d, dword [r8 + 0x10]
call fcn.1400f2fa0
mov ebx, dword [rsp + 0x50]
jmp 0x14014cb08
cmp qword [rbx + 0x30], rsi
jne 0x14014c813
mov rdx, qword [rbx + 0x20]
cmp dword [rdx], 1
jne 0x14014c813
mov r15, qword [rbx + 0x28]
cmp dword [r15], 1
jne 0x14014c813
cmp qword [r15 + 0x30], rsi
jne 0x14014c813
cmp dword [r13 + 0x30], 1
jne 0x14014c813
cmp qword [rbx + 0x40], rsi
jne 0x14014c813
mov r15, qword [r15 + 0x28]
cmp byte [r15 + 0x3f], sil
jne 0x14014c813
mov rdx, qword [rdx + 8]
cmp byte [rdx], 0xa8
jne 0x14014c813
cmp qword [rdx + 0x38], r13
jne 0x14014c813
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + 8]
test dword [rcx + 4], 0x100
je 0x14014c813
test dword [rdx + 4], 0x1000004
jne 0x14014c813
mov rdx, qword [r15 + 0x60]
mov r14d, 0xffff8000
mov r10, qword [rbp + 0xe0]
test rdx, rdx
je 0x14014c4ec
mov rax, qword [r10]
mov r14d, esi
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x14014c4ec
nop word [rax + rax]
inc r14d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x14014c4e0
mov r12d, dword [r10 + 0x34]
mov rcx, r10
mov r13, rsi
mov rbx, rsi
lea eax, [r12 + 1]
mov dword [r10 + 0x34], eax
mov eax, dword [r15 + 0x28]
mov dword [rbp + 0xf8], eax
mov rax, qword [r10 + 0xa8]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x7c]
bt eax, r14d
jb 0x14014c537
bts eax, r14d
mov dword [rcx + 0x7c], eax
cmp r14d, 1
jne 0x14014c53d
call fcn.14013c7f0
jmp 0x14014c56f
cmp r14d, 1
je 0x14014c576
mov rax, qword [r10]
movsxd rdx, r14d
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], bl
je 0x14014c576
mov rax, qword [r15]
xor r9d, r9d
mov r8d, dword [r15 + 0x28]
mov edx, r14d
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.140101d10
mov r10, qword [rbp + 0xe0]
test byte [r15 + 0x30], 0x80
je 0x14014c598
mov rbx, qword [r15 + 0x10]
test rbx, rbx
je 0x14014c598
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14014c598
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14014c586
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax + 0x28]
test byte [rax + 0x48], 1
jne 0x14014c5e0
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x14014c5e0
test byte [rax + 0x64], 4
jne 0x14014c5d7
movzx ecx, word [rax + 0x5c]
cmp cx, word [r15 + 0x3c]
jge 0x14014c5d7
cmp qword [rax + 0x48], rsi
jne 0x14014c5d7
test rbx, rbx
je 0x14014c5d4
cmp cx, word [rbx + 0x5c]
jge 0x14014c5d7
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14014c5b2
test rbx, rbx
je 0x14014c5fc
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r10
mov dword [rbp + 0xf8], eax
call fcn.14013a2d0
mov r13, rax
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c631
mov r9d, dword [rbp + 0xf8]
mov r8d, r12d
mov dword [rsp + 0x28], 1
mov edx, WSAStartup
mov rcx, rdi
mov dword [rsp + 0x20], r14d
call fcn.1400dbc00
jmp 0x14014c668
mov edx, dword [rbp + 0xf8]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xfd70
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov dword [rax + rcx*8 + 0x10], 1
test r13, r13
je 0x14014c6d0
mov rax, qword [rdi]
cmp byte [rax + 0x67], sil
je 0x14014c694
cmp qword [rax + 0x308], rsi
jne 0x14014c6d0
add dword [r13], 0xffffffff
jne 0x14014c6d0
mov rcx, qword [r13 + 0x10]
mov rdx, r13
call fcn.140125200
jmp 0x14014c6d0
movsxd rax, dword [rdi + 0x90]
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rdx, [rdx - 3]
cmp byte [rax + rdx*8 + 1], sil
lea rdx, [rax + rdx*8]
je 0x14014c6c8
mov r9d, 0xfffffff8
mov r8, r13
mov rcx, rdi
call fcn.140173730
jmp 0x14014c6d0
mov qword [rdx + 0x10], r13
mov byte [rdx + 1], 0xf8
mov r14, qword [rsp + 0x68]
mov rcx, qword [rbp + 0xe0]
mov eax, dword [rcx + 0x38]
inc eax
mov dword [r14 + 0xc], eax
mov eax, dword [r14 + 0x30]
add eax, dword [r14 + 0x20]
add dword [rcx + 0x38], eax
mov edx, dword [r14 + 0x20]
add edx, dword [r14 + 0xc]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c720
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x62
mov r8d, r12d
mov rcx, rdi
call fcn.1400f9f80
jmp 0x14014c74d
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x62
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c774
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x7a]
call fcn.1400f9f80
jmp 0x14014c79e
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
mov r12, qword [rbp + 0xe0]
cmp byte [r12 + 0x12b], 2
jne 0x14014cabc
test rbx, rbx
je 0x14014c7d5
test byte [r15 + 0x30], 0x80
je 0x14014c7c9
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14014c7d5
mov rax, qword [rbx]
lea rcx, [0x1402171b0]
jmp 0x14014c7e2
lea rcx, [0x1402171b0]
mov dword [rbp + 8], esi
mov rax, rcx
cmp dword [rbp + 8], esi
lea rdx, str._USING_COVERING_INDEX
mov r9, qword [r15]
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, r12
call fcn.14015e600
jmp 0x14014cabc
mov r14d, esi
mov edx, dword [r13 + 0x30]
mov r15, rsi
movzx ebx, si
cmp dword [r13 + 0x24], esi
je 0x14014c8d2
mov r8d, esi
test edx, edx
jle 0x14014c868
mov rcx, qword [r13 + 0x28]
mov r9d, edx
nop dword [rax + rax]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x14014c859
mov rax, qword [rcx + 8]
mov edx, r9d
test byte [rax + 4], 0x20
jne 0x14014c868
inc r8d
add rcx, 0x18
mov edx, r9d
cmp r8d, r9d
jl 0x14014c840
cmp r8d, edx
jne 0x14014c8f5
mov rax, qword [rbp + 0xe0]
inc dword [rax + 0x38]
movsxd rcx, dword [rdi + 0x90]
mov r14d, dword [rax + 0x38]
cmp dword [rdi + 0x94], ecx
jg 0x14014c8a6
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, r14d
mov rcx, rdi
lea edx, [r8 + 0x47]
call fcn.1400f9f80
jmp 0x14014c8f5
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
jmp 0x14014c8f5
cmp edx, 1
jne 0x14014c8f5
mov rax, qword [r13 + 0x28]
cmp dword [rax + 0x10], esi
jl 0x14014c8f5
mov rax, qword [rax]
mov r15, qword [rax + 0x20]
mov rax, r15
neg rax
sbb bx, bx
and bx, 0x500
mov rcx, qword [rbp + 0xe0]
mov rdx, r13
mov eax, dword [rcx + 0x38]
inc eax
mov dword [r13 + 0xc], eax
mov eax, dword [r13 + 0x30]
add eax, dword [r13 + 0x20]
add dword [rcx + 0x38], eax
call fcn.140110460
mov r9, qword [rbp + 0x58]
mov r8, qword [rbp - 0x58]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbp + 0xe0]
mov dword [rsp + 0x38], esi
movzx eax, r12b
or ax, bx
mov word [rsp + 0x30], ax
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
call fcn.140164a50
mov rbx, rax
test rax, rax
je 0x14014b589
movzx r15d, byte [rax + 0x43]
mov r8, r13
mov rcx, qword [rbp + 0xe0]
mov r9d, r15d
mov edx, r14d
call fcn.140171660
test r15d, r15d
je 0x14014c99d
mov r8, qword [r13 + 0x28]
test r8, r8
je 0x14014c99d
mov r9d, dword [r8 + 0x14]
mov edx, r15d
mov r8d, dword [r8 + 0x10]
mov rcx, qword [rbp + 0xe0]
call fcn.1400f2fa0
test r14d, r14d
je 0x14014c9fc
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c9cb
mov edx, 0x47
mov dword [rsp + 0x20], esi
mov r9d, r14d
mov rcx, rdi
lea r8d, [rdx - 0x46]
call fcn.1400f9f80
jmp 0x14014c9fc
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
test r12b, r12b
je 0x14014caa2
test byte [rbx + 0x44], 4
je 0x14014caa2
cmp byte [rbx + 0x41], sil
je 0x14014caa2
movzx edx, byte [rbx + 0x40]
sub rdx, 1
js 0x14014ca47
imul rcx, rdx, 0x70
add rcx, rbx
nop word [rax + rax]
mov rax, qword [rcx + 0x3c0]
test byte [rax + 0x38], 4
jne 0x14014ca71
sub rcx, 0x70
sub rdx, 1
jns 0x14014ca30
mov edx, dword [rbx + 0x34]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014ca79
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 9]
call fcn.1400f9f80
jmp 0x14014caa2
mov edx, dword [rcx + 0x370]
jmp 0x14014ca4a
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8 + 0x10], rsi
mov dword [rax + rcx*8 + 0xc], esi
mov dword [rax + rcx*8 + 8], edx
mov qword [rax + rcx*8], 9
mov rcx, rbx
call fcn.140168870
mov r12, qword [rbp + 0xe0]
mov rdx, r13
mov rcx, r12
call fcn.1400f2900
mov ebx, dword [rsp + 0x50]
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rbp + 0x50]
mov r8d, ebx
mov rcx, r12
mov qword [rbp + 0x60], rsi
call fcn.14012cfc0
mov r14, qword [rbp + 0xf0]
xor r9d, r9d
mov rdx, qword [rbp + 0xe8]
mov rcx, r12
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
lea r8d, [r9 - 1]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
call fcn.1401147b0
mov rcx, qword [rdi + 0x18]
not ebx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014cb2a
mov r8d, ebx
mov rdx, rdi
call fcn.140110740
mov rbx, qword [rbp + 0xe8]
jmp 0x14014cb41
movsxd rdx, ebx
mov rbx, qword [rbp + 0xe8]
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
mov dword [rcx + rdx*4], eax
cmp byte [rsp + 0x54], 3
jne 0x14014cb60
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r12
call fcn.14015e600
cmp qword [rbp + 0x60], 0
je 0x14014cb83
mov r9, qword [rsp + 0x70]
lea r8, [rbp + 0x60]
mov rdx, rbx
mov qword [rsp + 0x20], r14
mov rcx, r12
mov r9d, dword [r9]
call fcn.1400f8170
mov rcx, qword [rdi + 0x18]
mov edx, dword [rbp - 0x40]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014cba1
mov r8d, edx
mov rdx, rdi
call fcn.140110740
jmp 0x14014cbb2
mov r8, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd r9, edx
mov dword [r8 + r9*4], eax
cmp dword [r12 + 0x30], 0
mov eax, esi
mov r10, qword [rsp + 0x40]
setg al
mov r13d, eax
jmp 0x14014b59b
mov r12, qword [rbp + 0xe0]
mov r13d, 1
lea r8, [0x140243af8]
movsxd rcx, dword [r12 + 0x138]
test ecx, ecx
je 0x14014cc0b
mov rdx, qword [r12 + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
jne 0x14014cc07
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea r8, [rax + rcx*8]
mov esi, dword [r8 + 8]
mov dword [r12 + 0x138], esi
mov eax, r13d
jmp 0x140149b19
mov eax, r13d
jmp 0x140149b21