Function at 0x1401498a0
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 0x140149915
cmp qword [rcx + 0xa8], rsi
jne 0x140149909
test byte [rax + 0x60], 8
jne 0x140149909
mov byte [rcx + 0x23], r13b
call fcn.1401552b0
mov rdi, rax
mov qword [rbp - 0x48], rax
test rbx, rbx
je 0x14014cdcb
cmp dword [r12 + 0x30], esi
jne 0x14014cdcb
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, r12
lea edx, [r9 + 0x15]
call fcn.140119ca0
test eax, eax
jne 0x14014cdcb
cmp byte [r14], 6
ja 0x140149977
mov r8, qword [rbx + 0x48]
test r8, r8
je 0x14014996a
lea rdx, [0x14012e2b0]
mov rcx, r12
call fcn.14013f740
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.14014d650
lea r8, [0x140243b38]
cmp dword [r12 + 0x30], esi
jne 0x14014cd8e
mov r10d, dword [rbx + 4]
bt r10d, 0x17
jae 0x1401499eb
mov rdx, qword [rbx + 0x28]
lea r11, [rdx + 8]
mov rcx, r11
call fcn.140113210
test eax, eax
je 0x1401499e2
mov r8, qword [r11 + 0x18]
test r8, r8
jne 0x1401499ce
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.140127e00
jmp 0x14014cd87
btr r10d, 0x17
mov dword [rbx + 4], r10d
cmp byte [r14], 9
jne 0x1401499fc
mov rdx, rbx
mov rcx, r12
call fcn.140132800
mov rdx, rbx
mov rcx, r12
call fcn.14016dac0
test eax, eax
jne 0x14014cd87
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 0x140149c99
mov r10, qword [rsp + 0x40]
mov r15, rsi
nop word [rax + rax]
cmp r12d, dword [rbx]
jge 0x140149d05
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 0x140149b65
mov edx, dword [r14 + 0x4c]
and r8d, 0x40
mov rcx, qword [r9 + 0x30]
call fcn.14012da70
mov r10, qword [rsp + 0x40]
test eax, eax
je 0x140149b57
test dword [r10 + 0x60], 0x2000
jne 0x140149b57
movzx eax, byte [r14 + 0x44]
test al, 8
je 0x140149ad1
test al, 0x10
je 0x140149acb
and al, 0xf7
jmp 0x140149acd
and al, 0xd7
mov byte [r14 + 0x44], al
test al, 0x40
je 0x140149b38
mov eax, dword [rbx]
lea edx, [r12 + 1]
lea rcx, [r15 + 1]
cmp edx, eax
jge 0x140149b0f
imul rcx, rcx, 0x68
add rcx, 0x44
add rcx, rbx
nop
movzx eax, byte [rcx]
test al, 0x10
je 0x140149b03
test al, 8
je 0x140149aff
and al, 0xef
jmp 0x140149b01
and al, 0xcf
mov byte [rcx], al
mov eax, dword [rbx]
inc edx
add rcx, 0x68
cmp edx, eax
jl 0x140149af0
dec eax
movsxd rdx, eax
cmp rdx, r15
jl 0x140149b38
imul rcx, rdx, 0x68
add rcx, 0x44
add rcx, rbx
and byte [rcx], 0xbf
test byte [rcx], 0x10
jne 0x140149b38
dec rdx
sub rcx, 0x68
cmp rdx, r15
jge 0x140149b24
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.140171720
jmp 0x140149b5e
mov r9, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0xf8]
test r13, r13
je 0x140149c82
mov rax, qword [r13 + 0x20]
movsx r8d, word [rdx + 0x36]
mov ecx, dword [rax]
cmp r8d, ecx
jne 0x140149ce3
test dword [r14 + 0x48], 0x100
je 0x140149b9a
mov rax, qword [r14 + 0x68]
cmp byte [rax + 0x12], sil
je 0x140149c82
mov eax, dword [r13 + 4]
test al, 8
jne 0x140149c82
mov r8, qword [r13 + 0x48]
test r8, r8
je 0x140149c10
cmp qword [r9 + 0x48], rsi
jne 0x140149bba
cmp dword [rbx], 1
jle 0x140149bf3
cmp qword [r13 + 0x60], rsi
jne 0x140149bf3
bt eax, 0x1b
jb 0x140149bf3
test dword [r9 + 4], 0x8000000
jne 0x140149bf3
test dword [r10 + 0x60], 0x40000
jne 0x140149bf3
mov rcx, qword [rbp + 0xe0]
lea rdx, [0x14012e2b0]
call fcn.14013f740
mov qword [r13 + 0x48], rsi
jmp 0x140149c10
test r12d, r12d
jne 0x140149c10
test dword [r9 + 4], 0x40000
je 0x140149c10
cmp dword [rbx], 1
je 0x140149c82
test byte [rbx + 0xac], 0x22
jne 0x140149c82
mov r9d, dword [rbp - 0x78]
mov r8d, r12d
mov rdx, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
call fcn.1400f64d0
test eax, eax
je 0x140149c4d
mov r12, qword [rbp + 0xe0]
cmp dword [r12 + 0x30], esi
jne 0x14014cd81
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 0x14014cd7a
mov r14, qword [rbp + 0xf0]
cmp byte [r14], 8
jbe 0x140149c89
mov rax, qword [r9 + 0x48]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x60], rax
jmp 0x140149c89
mov r14, qword [rbp + 0xf0]
inc r12d
inc r15
cmp qword [r9 + 0x50], rsi
je 0x140149a60
mov rbx, qword [rbp + 0xe0]
mov r8, r14
mov rcx, rbx
mov rdx, r9
call fcn.140103f40
mov r9d, eax
mov rax, qword [rbp + 0xe8]
cmp qword [rax + 0x58], rsi
jne 0x140149cc6
mov rcx, rbx
call fcn.14015e910
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.140127e00
jmp 0x14014cd81
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 0x140149e1a
cmp byte [rax], 0x2c
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x58], rbx
jne 0x140149e1a
test dword [r10 + 0x60], 0x8000
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x58], rbx
jne 0x140149e1a
mov rax, qword [r12]
lea r15, [fcn.14001fe50]
add rax, 0x67
mov qword [rsp + 0x58], rbx
mov qword [rbp + 0x18], rax
lea rbx, [0x14010c960]
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 0x140149da5
cmp dword [rax], esi
jle 0x140149da5
test byte [rax + 0x44], 0x40
mov dword [rbp + 0x2c], 3
jne 0x140149da9
mov dword [rbp + 0x2c], r13d
mov rdx, qword [r14]
lea rcx, [rbp + 0x10]
call fcn.1400f2d50
cmp dword [rbp + 0x20], esi
je 0x140149dfc
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 0x140149de7
lea rcx, [rbp - 0x28]
call fcn.1401647d0
mov rdx, qword [rbp + 0x30]
test rdx, rdx
je 0x140149dfc
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx]
call fcn.140125160
mov r9, qword [rbp + 0xe8]
cmp dword [rbp + 0x24], esi
jne 0x140149d80
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 0x140149e53
mov rdx, r9
mov rcx, r12
call fcn.1400eb580
test eax, eax
je 0x140149e53
cmp byte [rbx + 0x67], sil
jne 0x14014cd87
mov rbx, qword [rbp + 0xe8]
mov r15, qword [rbx + 0x28]
mov qword [rsp + 0x58], r15
jmp 0x140149e5a
mov rbx, qword [rbp + 0xe8]
lea rcx, [0x140217320]
mov r13d, esi
mov dword [rbp + 0xf8], esi
cmp dword [r15], esi
jle 0x14014a6ce
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 0x140149eb8
mov r8, qword [r15 + 0x10]
test r8, r8
je 0x140149eb8
mov rax, qword [r15 + 8]
mov r9, rcx
mov rcx, r12
mov qword [rsp + 0x20], rax
mov edx, socket
call fcn.140119ca0
mov rbx, qword [r15 + 0x28]
mov qword [rsp + 0x48], rbx
test rbx, rbx
je 0x14014a694
mov rcx, qword [rbp + 0xe8]
lea rdx, [rsp + 0x54]
mov dword [rsp + 0x54], esi
call fcn.1400fa780
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x54]
add dword [r12 + 0x134], eax
test dword [rcx + 0x60], 0x1000
jne 0x140149f2f
test dword [r15 + 0x40], 0x100
je 0x140149f12
mov rax, qword [r15 + 0x60]
cmp byte [rax + 0x12], sil
je 0x140149f2f
cmp dword [rax], 2
jge 0x140149f2f
mov r9, qword [rsp + 0x58]
mov rdx, rbx
mov r8, qword [r14]
mov rcx, r12
mov dword [rsp + 0x20], r13d
call fcn.14010cf30
mov rcx, qword [rsp + 0x40]
test dword [rcx + 0x60], 0x4000000
jne 0x14014a05e
test dword [r15 + 0x40], 0x108
jne 0x14014a05e
mov r13, qword [r15 + 0x28]
mov r8, qword [r15 + 0x20]
mov rax, r13
test r13, r13
je 0x140149f8e
nop word [rax + rax]
test byte [rax + 4], 9
jne 0x14014a05e
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x140149f7c
cmp byte [rax], 0x87
jne 0x14014a05e
cmp qword [rax + 0x70], rsi
jne 0x14014a05e
mov rax, rcx
test rcx, rcx
jne 0x140149f60
mov rcx, qword [r13 + 0x48]
mov rbx, qword [r15 + 0x50]
test rcx, rcx
je 0x140149fd0
movsxd rdx, dword [rcx]
test rdx, rdx
jle 0x140149fd0
add rcx, 0x20
movzx eax, word [rcx]
test ax, ax
je 0x140149fc6
dec ax
cmp ax, 0x40
jb 0x140149fbf
mov eax, 0x3f
jmp 0x140149fc2
movzx eax, ax
bts rbx, rax
add rcx, 0x20
sub rdx, 1
jne 0x140149fa7
movsx r14, word [r8 + 0x36]
mov r10d, esi
mov r11, rsi
test r14, r14
jle 0x14014a05e
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 0x14014a048
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 0x14014a03f
and dword [rdx + 4], 0xfff7dfff
mov byte [rdx], 0x79
or dword [rcx + 4], 0x1000000
mov rcx, qword [rcx + 0x50]
test rcx, rcx
jne 0x14014a020
inc r10d
rol r9, 1
inc r11
add r8, 0x20
cmp r11, r14
jl 0x14014a000
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 0x14014a0bc
mov rax, qword [r14 + 0x68]
movzx ecx, byte [rax + 0x12]
test cl, cl
je 0x14014a29a
cmp dword [rax], 2
jl 0x14014a0bc
cmp cl, 2
jne 0x14014a29a
test byte [r10 + 0x44], 0x40
jne 0x14014a29a
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
test dword [rax + 0x60], 0x2000000
jne 0x14014a29a
mov r15d, dword [r10]
lea rdx, [r14 + 8]
mov r9d, r15d
inc r8d
mov rcx, r10
call fcn.1400fc6c0
test rax, rax
jne 0x14014a28d
cmp qword [rbp - 0x40], rsi
jne 0x14014a16e
cmp r15d, 1
je 0x14014a122
mov r10, qword [rsp + 0x58]
test byte [r10 + 0xac], 2
jne 0x14014a122
bt r12d, 0x1c
jb 0x14014a288
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 0x14014a1a9
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, rdi
lea edx, [r9 + 0xb]
call fcn.1400fa130
jmp 0x14014a1d5
bt r12d, 0x1c
jb 0x14014a28d
test byte [r14 + 0x44], 0x22
lea rax, [r14 + 0x44]
jne 0x14014a28d
test ebx, ebx
je 0x14014a122
sub rax, 0x68
dec ebx
cmp qword [rax - 0x14], rsi
jne 0x14014a19d
test byte [rax], 0x22
je 0x14014a188
mov r8d, dword [rbp + 0xf8]
jmp 0x14014a290
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.14015e7b0
mov rbx, qword [rsp + 0x48]
lea r8, [rbp + 0x10]
mov rdx, rbx
mov rcx, r12
call fcn.1401498a0
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.140155860
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], sil
je 0x14014a266
lea rax, [0x140243b38]
mov dword [rax + 8], edx
mov byte [r12 + 0x1f], sil
mov dword [r12 + 0x28], esi
jmp 0x14014a648
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 0x14014a648
mov r8d, ebx
jmp 0x14014a295
mov r8d, ebx
mov r10, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
test dword [r15 + 0x40], 0x100
je 0x14014a340
mov rbx, qword [r15 + 0x60]
mov edx, dword [rbx + 4]
test edx, edx
jle 0x14014a340
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rbx + 8]
cmp dword [rdi + 0x94], ecx
jg 0x14014a2e0
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0xa
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014a30d
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 0x14014a327
mov edx, reloc.WS2_32.dll_WSAStartup
mov rcx, rdi
call fcn.140154950
mov rdx, qword [rsp + 0x48]
movzx eax, word [rbx + 0x10]
mov r12, qword [rbp + 0xe0]
mov word [rdx + 2], ax
jmp 0x14014a648
mov r9d, r8d
mov rdx, r15
xor r8d, r8d
mov rcx, r10
call fcn.1400fc6c0
mov rbx, rax
test rax, rax
je 0x14014a430
mov edx, dword [rax + 0x30]
test edx, edx
je 0x14014a3ba
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rax + 0x34]
cmp dword [rdi + 0x94], ecx
jg 0x14014a38d
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0xa
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014a3ba
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 0x14014a3e6
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, reloc.WS2_32.dll_WSAStartup
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014a413
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 0x14014a648
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 0x14014a472
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 9]
call fcn.1400fa130
mov r14d, eax
jmp 0x14014a499
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 0x14014a4ff
movsxd rbx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ebx
jg 0x14014a4d9
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0xf]
call fcn.1400fa130
mov ebx, eax
jmp 0x14014a4ff
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.14015e7b0
mov rdx, qword [rsp + 0x48]
lea r8, [rbp + 0x10]
mov rcx, r12
call fcn.1401498a0
mov r9, qword [rsp + 0x48]
mov rcx, qword [r15 + 0x20]
movzx eax, word [r9 + 2]
mov word [rcx + 0x3a], ax
test ebx, ebx
je 0x14014a580
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], sil
je 0x14014a56b
lea rax, [0x140243b38]
jmp 0x14014a57d
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 0x14014a5b2
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x43
mov rcx, rdi
call fcn.1400fa130
mov r9, qword [rsp + 0x48]
jmp 0x14014a5df
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 0x14014a5f7
lea rax, [0x140243b38]
jmp 0x14014a609
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 0x14014a648
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 0x14014cd81
mov rbx, qword [rbp + 0xe8]
lea rdx, [rsp + 0x54]
mov rcx, rbx
mov dword [rsp + 0x54], esi
call fcn.1400fa780
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 0x14014a69b
mov rbx, qword [rbp + 0xe8]
mov rax, qword [rbp - 0x40]
lea rcx, [0x140217320]
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 0x140149e80
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 0x14014a7c9
mov r8, qword [rbp - 0x80]
test r8, r8
jne 0x14014a726
test rdx, rdx
jne 0x14014a7c9
jmp 0x14014a792
test rdx, rdx
je 0x14014a7c9
mov eax, dword [r8]
cmp eax, dword [rdx]
jne 0x14014a7c9
mov r14d, esi
test eax, eax
jle 0x14014a792
mov r15, r8
lea rbx, [rdx + 0x18]
sub r15, rdx
nop dword [rax + rax]
movzx eax, byte [rbx]
cmp byte [r15 + rbx], al
jne 0x14014a7c9
mov r8, qword [rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [r15 + rbx - 0x10]
xor ecx, ecx
call fcn.14012c8c0
test eax, eax
jne 0x14014a7c9
mov r8, qword [rbp - 0x80]
inc r14d
add rbx, 0x20
cmp r14d, dword [r8]
jl 0x14014a750
mov rbx, qword [rbp + 0xe8]
mov rdx, qword [rsp + 0x70]
mov ecx, dword [rbx + 4]
cmp qword [rbx + 0x70], rsi
jne 0x14014a7c9
and ecx, 0xfffffffe
xor r8d, r8d
mov dword [rbx + 4], ecx
mov rcx, qword [rsp + 0x40]
call fcn.14012e2c0
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 0x14014a8e3
mov r15, qword [rbp + 0xe0]
xor r8d, r8d
mov r9d, dword [r14]
mov rcx, r15
mov rdx, rax
call fcn.14013a3c0
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 0x14014a840
mov edx, 0x76
mov dword [rsp + 0x20], esi
mov rcx, rdi
call fcn.1400fa130
mov r15d, eax
mov dword [rbp - 0x68], eax
jmp 0x14014a86f
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 0x14014a89c
cmp qword [rcx + 0x308], rsi
jne 0x14014a8ed
test rbx, rbx
je 0x14014a8ed
add dword [rbx], 0xffffffff
jne 0x14014a8ed
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
call fcn.1401253b0
jmp 0x14014a8ed
test r15d, r15d
jns 0x14014a8a9
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 0x14014a8d4
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, rdi
call fcn.1401738e0
jmp 0x14014a8ed
test rbx, rbx
je 0x14014a8ed
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf8
jmp 0x14014a8ed
mov r15d, 0xffffffff
mov dword [rbp - 0x68], r15d
mov rax, qword [rbp + 0xf0]
mov dword [rbp + 0x78], r15d
cmp byte [rax], 0xc
jne 0x14014a9b7
mov r9d, dword [r14]
mov edx, 0x76
mov r8d, dword [rax + 4]
mov rcx, rdi
call fcn.140154950
mov rax, qword [rbp + 0xe8]
test dword [rax + 4], 0x800
je 0x14014a9b7
mov r8, qword [rsp + 0x70]
mov ecx, dword [r8]
lea eax, [rcx - 1]
movsxd r14, eax
test eax, eax
jle 0x14014a996
mov r12, qword [rsp + 0x40]
mov rbx, r14
shl rbx, 5
test byte [rbx + r8 + 0x1c], 0x40
jne 0x14014a991
mov rdx, qword [rbx + r8 + 8]
test rdx, rdx
je 0x14014a966
mov rcx, r12
call fcn.14012ce90
mov r8, qword [rsp + 0x70]
mov rdx, qword [rbx + r8 + 0x10]
test rdx, rdx
je 0x14014a97d
mov rcx, r12
call fcn.140125160
mov r8, qword [rsp + 0x70]
mov ecx, dword [r8]
dec r14
dec ecx
sub rbx, 0x20
mov dword [r8], ecx
test r14, r14
jg 0x14014a947
mov r12, qword [rsp + 0x48]
mov edx, esi
test ecx, ecx
jle 0x14014a9b7
lea rcx, [r8 + 8]
test byte [rcx + 0x14], 0x40
jne 0x14014a9ac
mov rax, qword [rcx]
mov byte [rax], 0x79
inc edx
add rcx, 0x20
cmp edx, dword [r8]
jl 0x14014a9a0
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 0x14014a9e4
mov word [r11 + 2], 0x140
cmp qword [r11 + 0x60], rsi
je 0x14014aa03
mov rdx, r11
mov rcx, r10
call fcn.1400e9580
mov r10, qword [rbp + 0xe0]
mov r11, qword [rbp + 0xe8]
cmp dword [r11 + 8], esi
jne 0x14014aa3c
test r15d, r15d
js 0x14014aa3c
mov rax, qword [rdi]
cmp byte [rax + 0x67], sil
je 0x14014aa20
lea rax, [0x140243b38]
jmp 0x14014aa32
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 0x14014ab67
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.14013a3c0
movsxd r14, dword [rdi + 0x90]
mov rbx, rax
cmp dword [rdi + 0x94], r14d
jg 0x14014aa97
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r15d
mov rcx, rdi
lea edx, [r9 + 0x76]
call fcn.1400fa130
mov r14d, eax
jmp 0x14014aac2
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 0x14014aaef
cmp qword [rcx + 0x308], rsi
jne 0x14014ab34
test rbx, rbx
je 0x14014ab34
add dword [rbx], 0xffffffff
jne 0x14014ab34
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
call fcn.1401253b0
jmp 0x14014ab34
test r14d, r14d
jns 0x14014aafc
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 0x14014ab27
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, rdi
call fcn.1401738e0
jmp 0x14014ab34
test rbx, rbx
je 0x14014ab34
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf8
movsxd rax, dword [rdi + 0x90]
mov dword [rbp - 0x30], r14d
test eax, eax
jle 0x14014ab55
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 0x14014ab6a
xor r15b, r15b
mov byte [rbp - 0x37], r15b
mov dword [rsp + 0x54], r15d
cmp dword [rbp - 0x78], esi
jne 0x14014ae67
test r12, r12
jne 0x14014ae67
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 0x14014abc1
mov rdx, r11
mov rcx, r12
call fcn.14016b3f0
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.140164c00
mov rbx, rax
test rax, rax
je 0x14014cd81
mov r10, qword [rbp + 0xe8]
movzx eax, word [rax + 0x48]
cmp ax, word [r10 + 2]
jge 0x14014ac15
mov word [r10 + 2], ax
test r13b, r13b
je 0x14014ac31
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 0x14014ac88
movsx eax, byte [rbx + 0x41]
test al, al
jns 0x14014ac49
mov edx, esi
mov dword [rbp + 0x68], edx
jmp 0x14014ac4e
mov edx, eax
mov dword [rbp + 0x68], eax
test byte [rbx + 0x44], 4
jne 0x14014ac59
mov eax, dword [rbx + 0x30]
jmp 0x14014ac77
movzx eax, byte [rbx + 0x40]
imul rcx, rax, 0x70
cmp qword [rcx + rbx + 0x328], rsi
je 0x14014ac70
mov eax, dword [rbx + 0x30]
jmp 0x14014ac77
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 0x14014aca5
test r8, r8
jne 0x14014aca5
mov edx, eax
mov rcx, rdi
call fcn.140155050
mov r10, qword [rbp + 0xe8]
mov rdx, r10
test r14, r14
je 0x14014ae1e
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.14016ba00
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014ad0e
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, r14d
mov rcx, rdi
lea edx, [r8 + 9]
call fcn.1400fa130
jmp 0x14014ad38
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 0x14014ad54
mov r8d, r12d
mov rdx, rdi
call fcn.1401108f0
jmp 0x14014ad64
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.140114960
mov rcx, qword [rdi + 0x18]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014adc8
mov r8d, r15d
mov rdx, rdi
call fcn.1401108f0
jmp 0x14014add9
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.1401548e0
mov rcx, qword [rdi + 0x18]
not r14d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014ae0f
mov r8d, r14d
mov rdx, rdi
call fcn.1401108f0
mov r14, qword [rbp + 0xf0]
jmp 0x14014ccf1
movsxd rdx, r14d
mov r14, qword [rbp + 0xf0]
jmp 0x14014cce4
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.140114960
mov rcx, rbx
call fcn.140168a20
mov rbx, qword [rbp + 0xe8]
jmp 0x14014ccf1
mov dword [rsp + 0x7c], esi
mov dword [rbp - 0x64], esi
mov dword [rbp - 0x6c], esi
test r12, r12
je 0x14014af69
mov rcx, qword [r11 + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x14014ae9d
add rcx, 0x22
nop dword [rax + rax]
dec eax
mov word [rcx], si
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x14014ae90
mov eax, dword [r12]
test eax, eax
jle 0x14014aebd
lea rcx, [r12 + 0x22]
nop word [rax + rax]
dec eax
mov word [rcx], si
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x14014aeb0
cmp word [r11 + 2], 0x42
jle 0x14014aecc
mov word [r11 + 2], 0x42
mov r9, qword [rbp - 0x80]
test r9, r9
je 0x14014af6e
mov eax, dword [r12]
cmp eax, dword [r9]
jne 0x14014af6e
mov edx, esi
test eax, eax
jle 0x14014af18
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 0x14014af00
cmp eax, dword [r9]
jne 0x14014af6e
mov r14d, esi
test eax, eax
jle 0x14014af60
mov r15, r9
lea rbx, [r12 + 0x18]
sub r15, r12
nop
movzx eax, byte [rbx + r15]
cmp byte [rbx], al
jne 0x14014af6e
mov r8, qword [r15 + rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [rbx - 0x10]
xor ecx, ecx
call fcn.14012c8c0
test eax, eax
jne 0x14014af6e
inc r14d
add rbx, 0x20
cmp r14d, dword [r12]
jl 0x14014af30
mov dword [rbp - 0x6c], 1
jmp 0x14014af6e
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.1401252f0
mov qword [rsp + 0x68], rax
mov r13, rax
test rax, rax
je 0x14014b039
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 0x14014afce
lea edx, [rax + 0x18]
call fcn.1401252f0
jmp 0x14014afd8
mov ecx, 0x18
call fcn.14013b8f0
mov rcx, rax
test rax, rax
je 0x14014b002
mov rax, qword [rbx + 0xc0]
mov qword [rcx], rax
lea rax, [0x1400dc1a0]
mov qword [rbx + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r13
jmp 0x14014b039
mov rdx, qword [r13 + 0x18]
mov rbx, qword [rbx]
test rdx, rdx
je 0x14014b016
mov rcx, rbx
call fcn.140125160
mov rdx, qword [r13 + 0x28]
test rdx, rdx
je 0x14014b027
mov rcx, rbx
call fcn.140125160
mov rdx, r13
mov rcx, rbx
call fcn.140125160
mov rbx, qword [rbp + 0xe0]
cmp byte [r14 + 0x67], sil
jne 0x14014cd7a
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 0x14014b07d
mov eax, dword [r12]
jmp 0x14014b07f
mov eax, esi
mov r15, qword [rsp + 0x70]
mov word [r13 + 2], ax
mov qword [r13 + 0x10], r12
test r15, r15
je 0x14014b106
lea rbx, [r15 + 8]
mov r14d, esi
cmp dword [r15], esi
jle 0x14014b106
lea r13, [0x1400dd5c0]
lea r12, [0x140164af0]
lea rdi, [0x140164ae0]
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 0x14014b0ec
lea rcx, [rbp - 0x28]
call fcn.1401647d0
inc r14d
add rbx, 0x20
cmp r14d, dword [r15]
jl 0x14014b0c0
mov rdi, qword [rbp - 0x48]
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0x48]
mov r15, qword [rbp - 0x80]
test r15, r15
je 0x14014b176
lea rbx, [r15 + 8]
mov r14d, esi
cmp dword [r15], esi
jle 0x14014b176
lea r13, [0x1400dd5c0]
lea r12, [0x140164af0]
lea rdi, [0x140164ae0]
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 0x14014b15c
lea rcx, [rbp - 0x28]
call fcn.1401647d0
inc r14d
add rbx, 0x20
cmp r14d, dword [r15]
jl 0x14014b130
mov rdi, qword [rbp - 0x48]
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0x48]
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x14014b20f
test r12, r12
je 0x14014b1d3
mov rbx, qword [rbp + 0xe8]
xorps xmm0, xmm0
mov rax, qword [rbp + 0xe0]
mov qword [rbp - 0x28], rax
lea rax, [0x1400fa570]
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 0x14014b1cb
lea rcx, [rbp - 0x28]
call fcn.1401647d0
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x58], rax
lea rax, [0x1400dd5c0]
mov dword [rbp - 8], esi
mov qword [rbp - 0x20], rax
mov rdx, rcx
lea rax, [0x140164af0]
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x28]
lea rax, [0x140164ae0]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x10]
mov qword [rbp], rax
call fcn.1401647d0
mov rbx, qword [rbp + 0xe8]
mov eax, dword [r13 + 0x20]
mov dword [r13 + 0x24], eax
cmp qword [rbx + 0x38], rsi
jne 0x14014b32f
cmp qword [rbx + 0x40], rsi
jne 0x14014b32f
cmp dword [r13 + 0x30], 1
jne 0x14014b32f
mov rax, qword [r13 + 0x28]
mov r8, qword [rax]
mov r11, qword [r8 + 0x20]
test r11, r11
je 0x14014b32f
cmp dword [r11], 1
jne 0x14014b32f
test dword [r8 + 4], 0x1000000
jne 0x14014b32f
mov r14, qword [rsp + 0x40]
test dword [r14 + 0x60], 0x10000
jne 0x14014b32f
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 0x14014b2c6
test eax, eax
jne 0x14014b2d4
mov rcx, qword [r11 + 8]
call fcn.140128e20
neg eax
mov r12b, 1
sbb bl, bl
and bl, 2
jmp 0x14014b2f9
movzx ecx, byte [rax + r15]
movzx eax, byte [r9 + r15]
cmp ecx, eax
jne 0x14014b2d9
inc rdx
jmp 0x14014b2a0
lea r9, [0x140205508]
sub r9, r8
movzx eax, byte [r8]
movzx edx, byte [r8 + r9]
cmp eax, edx
jne 0x14014b31c
test eax, eax
jne 0x14014b32a
mov bl, 1
mov r12b, 2
xor r8d, r8d
mov rdx, r11
mov rcx, r14
call fcn.14012e2c0
mov qword [rbp + 0x58], rax
test rax, rax
je 0x14014b313
mov byte [rax + 0x18], bl
mov rbx, qword [rbp + 0xe8]
jmp 0x14014b332
movzx ecx, byte [rax + r15]
movzx eax, byte [rdx + r15]
cmp ecx, eax
jne 0x14014b32f
inc r8
jmp 0x14014b2e3
xor r12b, r12b
lea rdx, [rbp + 0x10]
mov rcx, r13
call fcn.1400dd4c0
mov r10, qword [rsp + 0x40]
cmp byte [r10 + 0x67], sil
jne 0x14014b73e
mov r15, qword [rsp + 0x48]
test r15, r15
je 0x14014c5d1
cmp dword [r13 + 0x30], 1
mov r14, rsi
mov qword [rbp + 0x48], rsi
mov word [rsp + 0x78], si
jne 0x14014b461
mov rax, qword [r13 + 0x28]
cmp dword [rax + 0x10], esi
jl 0x14014b461
mov rax, qword [rax]
test rax, rax
je 0x14014b461
test dword [rax + 4], 0x1000
jne 0x14014b461
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14014b461
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x14014b3c6
xor r9d, r9d
xor r8d, r8d
mov rcx, r10
call fcn.1400f09b0
mov r10, qword [rsp + 0x40]
mov rbx, rax
jmp 0x14014b3c9
mov rbx, rsi
xor r8d, r8d
mov rdx, r15
mov rcx, r10
call fcn.14012e2c0
mov qword [rbp + 0x48], rax
mov r14, rax
test rax, rax
jne 0x14014b3fe
mov rax, qword [rbp + 0xe0]
mov rdx, rbx
mov rcx, qword [rax]
call fcn.14012df00
mov r14, rax
mov qword [rbp + 0x48], rax
jmp 0x14014b44e
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [r14 + 4], ecx
jge 0x14014b428
mov rax, qword [rbp + 0xe0]
mov r8, rbx
mov rdx, r14
mov rcx, qword [rax]
call fcn.14012de10
mov r14, rax
mov qword [rbp + 0x48], rax
jmp 0x14014b44e
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.14013a3c0
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 0x14014b4c4
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x77
mov rcx, rdi
call fcn.1400fa130
mov r9d, eax
mov dword [rbp - 0x48], eax
jmp 0x14014b4f2
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 0x14014b522
cmp qword [rcx + 0x308], rsi
jne 0x14014b567
test r12, r12
je 0x14014b567
add dword [r12], 0xffffffff
jne 0x14014b567
mov rcx, qword [r12 + 0x10]
mov rdx, r12
call fcn.1401253b0
jmp 0x14014b567
test r9d, r9d
jns 0x14014b52f
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 0x14014b55a
mov r9d, 0xfffffff8
mov r8, r12
mov rcx, rdi
call fcn.1401738e0
jmp 0x14014b567
test r12, r12
je 0x14014b567
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 0x14014b5e2
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 0x47]
call fcn.1400fa130
mov r8, qword [rsp + 0x48]
jmp 0x14014b60b
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 0x14014b639
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov rcx, rdi
lea edx, [r8 + 0x4b]
call fcn.1400fa130
jmp 0x14014b662
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 0x14014b68c
mov r8d, dword [rsp + 0x60]
mov r9d, r15d
mov edx, 0xa
mov dword [rsp + 0x20], esi
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014b6bd
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.140164c00
mov qword [rbp - 0x58], rax
mov r15, rax
test rax, rax
jne 0x14014b768
test r14, r14
je 0x14014b739
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call fcn.1400f15c0
mov r10, qword [rsp + 0x40]
mov r12, qword [rbp + 0xe0]
mov r13d, 1
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x14014cd87
mov rdx, rax
mov rcx, r10
call fcn.1400f15c0
jmp 0x14014cd87
mov r14, qword [rbp + 0xe0]
cmp qword [r14 + 0x60], rsi
lea rbx, [r14 + 0x60]
je 0x14014b7dc
mov r8d, dword [r13 + 0x24]
mov dword [r13 + 0x20], r8d
cmp word [r13 + 2], si
jbe 0x14014b7d0
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax + 0x38]
mov ecx, dword [rax]
dec ecx
test r8d, r8d
jle 0x14014b7c4
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 0x14014b7b0
inc cx
lea rbx, [r14 + 0x60]
mov word [r13 + 2], cx
lea rdx, [rbp + 0x10]
mov rcx, r13
call fcn.1400dd4c0
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 0x14014b821
mov r15d, esi
mov dword [rbp + 0xf8], esi
jmp 0x14014bbae
cmp byte [rbp + 0xf8], sil
je 0x14014b83e
mov rax, qword [rbp + 0xe8]
lea r9, str.DISTINCT
test byte [rax + 4], 1
je 0x14014b845
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.14015e7b0
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 0x14014b8b3
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 0x14014b890
cmp r13d, 1
jne 0x14014b8e0
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x14014b8ce
mov r12d, dword [rbx + 0x38]
inc r12d
mov dword [rbx + 0x38], r12d
jmp 0x14014b908
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r12d, dword [rbx + rax*4 + 0xe0]
jmp 0x14014b908
mov ecx, dword [rbx + 0x28]
mov r12d, dword [rbx + 0x2c]
cmp r13d, ecx
jg 0x14014b8fb
lea eax, [r12 + r13]
sub ecx, r13d
mov dword [rbx + 0x2c], eax
mov dword [rbx + 0x28], ecx
jmp 0x14014b908
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.140129000
mov rcx, r14
mov byte [r14], 1
mov r14d, esi
cmp dword [rcx + 0x20], esi
jle 0x14014b976
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 0x14014b967
mov rdx, qword [rdx + rbx + 8]
lea r8d, [r12 + r15]
mov rcx, rsi
call fcn.140128f90
mov rcx, qword [rsp + 0x68]
inc r15d
inc r14d
add rbx, 0x18
cmp r14d, dword [rcx + 0x20]
jl 0x14014b940
xor esi, esi
mov r15, qword [rbp + 0xe0]
mov byte [rcx], 0
movzx eax, byte [r15 + 0x1f]
test al, al
jne 0x14014b995
mov ebx, dword [r15 + 0x38]
inc ebx
mov dword [r15 + 0x38], ebx
jmp 0x14014b9a6
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 0x14014b9ce
mov r9d, r13d
mov dword [rsp + 0x20], ebx
mov r8d, r12d
mov edx, 0x61
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014b9fc
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 0x14014ba2d
mov r8d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x8b
mov r9d, ebx
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014ba59
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 0x14014ba72
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x14014ba72
mov dword [r15 + rax*4 + 0xe0], ebx
inc byte [r15 + 0x1f]
cmp r13d, 1
jne 0x14014ba94
test r12d, r12d
je 0x14014baa2
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x14014baa2
mov dword [r15 + rax*4 + 0xe0], r12d
inc byte [r15 + 0x1f]
jmp 0x14014baa2
cmp r13d, dword [r15 + 0x28]
jle 0x14014baa2
mov dword [r15 + 0x28], r13d
mov dword [r15 + 0x2c], r12d
mov rcx, qword [rbp - 0x58]
call fcn.140168a20
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 0x14014bad1
mov edx, dword [r15 + 0x38]
inc edx
mov dword [r15 + 0x38], edx
jmp 0x14014bae2
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 0x14014bb0b
mov r9d, edx
mov dword [rsp + 0x20], r13d
mov edx, 0x79
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014bb39
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 0x14014bb6a
mov r9d, dword [rsp + 0x50]
mov r8d, edx
mov edx, 0x22
mov dword [rsp + 0x20], esi
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014bb9a
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 0x14014bc03
cmp dword [r13 + 0x30], 0
lea rax, [0x1400dc2d0]
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 0x14014bc03
mov rbx, rsi
mov rax, qword [r13 + 0x28]
mov rdx, qword [rbx + rax]
test rdx, rdx
je 0x14014bbf6
lea rcx, [rbp - 0x28]
call fcn.1401647d0
inc r14d
add rbx, 0x18
cmp r14d, dword [r13 + 0x30]
jl 0x14014bbe0
cmp dword [rbp - 0x6c], 0
je 0x14014bc5b
mov rax, qword [rsp + 0x40]
test byte [rax + 0x60], 4
jne 0x14014bc5b
test r15d, r15d
jne 0x14014bc23
mov rax, qword [rbp - 0x58]
test byte [rax + 0x44], 8
je 0x14014bc5b
mov rcx, qword [rdi]
mov qword [rbp + 0x60], rsi
cmp byte [rcx + 0x67], 0
jne 0x14014bc5b
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.1400f6f00
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 0x14014bc9b
mov edx, dword [r13 + 4]
cmp dword [rdi + 0x94], r15d
jg 0x14014bcf6
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.1400fa130
mov edx, dword [rsp + 0x7c]
mov rax, qword [rsp + 0x48]
mov ebx, esi
cmp dword [rax], 0
jle 0x14014bd9a
mov r12d, dword [rbp + 0xf8]
lea r14, [rax + 8]
mov r15d, dword [rbp - 0x74]
nop
lea r8d, [r15 + rbx]
test r12d, r12d
je 0x14014bd60
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014bd31
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, rdi
mov edx, 0x5e
call fcn.1400fa130
jmp 0x14014bd74
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 0x14014bc9f
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 0x14014bd78
mov rcx, qword [rbp + 0xe0]
mov byte [r13], 1
mov rdx, qword [r14]
call fcn.140128f90
mov edx, dword [rsp + 0x7c]
mov rax, qword [rsp + 0x48]
inc ebx
add r14, 0x20
cmp ebx, dword [rax]
jl 0x14014bcc0
mov r15d, dword [rbp - 0x6c]
mov r12, qword [rbp + 8]
mov r14d, dword [rbp + 0xf8]
test r12, r12
je 0x14014bda3
inc dword [r12]
movsxd rdx, dword [rdi + 0x90]
mov r8d, dword [rax]
cmp dword [rdi + 0x94], edx
jg 0x14014bdd7
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.1400fa130
mov edx, eax
jmp 0x14014be12
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 0x14014be40
cmp qword [rax + 0x308], 0
jne 0x14014be85
test r12, r12
je 0x14014be85
add dword [r12], 0xffffffff
jne 0x14014be85
mov rcx, qword [r12 + 0x10]
mov rdx, r12
call fcn.1401253b0
jmp 0x14014be85
test edx, edx
jns 0x14014be4c
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 0x14014be78
mov r9d, 0xfffffff8
mov r8, r12
mov rcx, rdi
call fcn.1401738e0
jmp 0x14014be85
test r12, r12
je 0x14014be85
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 0x14014beaf
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, rdi
lea edx, [r9 + 0xe]
call fcn.1400fa130
jmp 0x14014bed8
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 0x14014bf19
mov r9d, dword [rsp + 0x60]
mov rcx, r10
mov dword [rsp + 0x20], edx
inc r9d
mov edx, 0x4f
call fcn.1400fa130
jmp 0x14014bf50
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 0x14014bf84
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.1400fa130
mov r8d, dword [rbp - 0x70]
jmp 0x14014bfbc
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 0x14014bfe3
mov r9d, dword [rsp + 0x50]
mov edx, 0x3b
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.1400fa130
jmp 0x14014c014
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 0x14014c03f
mov r9d, dword [rbp - 0x78]
lea r8d, [r12 + 1]
mov edx, 0xa
mov dword [rsp + 0x20], esi
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014c073
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 0x14014c08b
lea rax, [0x140243b38]
jmp 0x14014c09a
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.140171810
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c0de
mov edx, 0x47
mov dword [rsp + 0x20], esi
mov r9d, ebx
mov rcx, rdi
lea r8d, [rdx - 0x46]
call fcn.1400fa130
jmp 0x14014c10e
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 0x14014c16e
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r13 + 4]
cmp dword [rdi + 0x94], ecx
jg 0x14014c13f
mov r8d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x25
mov r9d, r15d
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014c1ab
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 0x14014c1ab
mov rcx, qword [rbp - 0x58]
call fcn.140168a20
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x14014c1ab
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.1400f6f00
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rsi
mov rdx, qword [rbp + 0x48]
test rdx, rdx
je 0x14014c1be
mov rcx, qword [rsp + 0x40]
call fcn.1400f15c0
movsxd rcx, dword [rdi + 0x90]
mov ebx, dword [rbp - 0x60]
cmp dword [rdi + 0x94], ecx
jg 0x14014c1e9
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov edx, 0xa
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014c216
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 0x14014c23f
mov r9d, dword [rsp + 0x50]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r8 + 9]
call fcn.1400fa130
jmp 0x14014c26c
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 0x14014c297
mov r9d, dword [rbp - 0x70]
mov edx, 0x47
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea r8d, [rdx - 0x46]
call fcn.1400fa130
jmp 0x14014c2cb
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 0x14014c2f2
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x43]
call fcn.1400fa130
jmp 0x14014c320
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 0x14014c33b
mov r8d, ebx
mov rdx, rdi
call fcn.1401108f0
jmp 0x14014c34c
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 0x14014c37f
mov r9d, r8d
mov dword [rsp + 0x20], esi
mov r8d, r15d
mov edx, 0x3b
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014c3aa
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 0x14014c3d1
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x43]
call fcn.1400fa130
jmp 0x14014c3ff
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.1400f2ab0
mov rdx, qword [rbp + 0x50]
mov r9d, reloc.WS2_32.dll_recv
mov rcx, qword [rbp + 0xe0]
mov r8d, ebx
call fcn.14012d170
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.140114960
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c489
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x43]
call fcn.1400fa130
jmp 0x14014c4b7
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 0x14014c4d5
mov r8d, edx
mov rdx, rdi
call fcn.1401108f0
jmp 0x14014c4e6
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.140110610
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c51f
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, r15d
mov rcx, rdi
lea edx, [r8 + 0x47]
call fcn.1400fa130
jmp 0x14014c549
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 0x14014c572
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x43]
call fcn.1400fa130
jmp 0x14014c5a3
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 0x14014c5c8
mov eax, dword [rbp - 0x80]
test eax, eax
je 0x14014c5c8
mov r8, qword [r13 + 0x28]
mov edx, eax
mov rcx, r12
mov r9d, dword [r8 + 0x14]
mov r8d, dword [r8 + 0x10]
call fcn.1400f3150
mov ebx, dword [rsp + 0x50]
jmp 0x14014ccb8
cmp qword [rbx + 0x30], rsi
jne 0x14014c9c3
mov rdx, qword [rbx + 0x20]
cmp dword [rdx], 1
jne 0x14014c9c3
mov r15, qword [rbx + 0x28]
cmp dword [r15], 1
jne 0x14014c9c3
cmp qword [r15 + 0x30], rsi
jne 0x14014c9c3
cmp dword [r13 + 0x30], 1
jne 0x14014c9c3
cmp qword [rbx + 0x40], rsi
jne 0x14014c9c3
mov r15, qword [r15 + 0x28]
cmp byte [r15 + 0x3f], sil
jne 0x14014c9c3
mov rdx, qword [rdx + 8]
cmp byte [rdx], 0xa8
jne 0x14014c9c3
cmp qword [rdx + 0x38], r13
jne 0x14014c9c3
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + 8]
test dword [rcx + 4], 0x100
je 0x14014c9c3
test dword [rdx + 4], 0x1000004
jne 0x14014c9c3
mov rdx, qword [r15 + 0x60]
mov r14d, 0xffff8000
mov r10, qword [rbp + 0xe0]
test rdx, rdx
je 0x14014c69c
mov rax, qword [r10]
mov r14d, esi
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x14014c69c
nop word [rax + rax]
inc r14d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x14014c690
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 0x14014c6e7
bts eax, r14d
mov dword [rcx + 0x7c], eax
cmp r14d, 1
jne 0x14014c6ed
call fcn.14013c9a0
jmp 0x14014c71f
cmp r14d, 1
je 0x14014c726
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 0x14014c726
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.140101ec0
mov r10, qword [rbp + 0xe0]
test byte [r15 + 0x30], 0x80
je 0x14014c748
mov rbx, qword [r15 + 0x10]
test rbx, rbx
je 0x14014c748
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14014c748
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14014c736
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax + 0x28]
test byte [rax + 0x48], 1
jne 0x14014c790
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x14014c790
test byte [rax + 0x64], 4
jne 0x14014c787
movzx ecx, word [rax + 0x5c]
cmp cx, word [r15 + 0x3c]
jge 0x14014c787
cmp qword [rax + 0x48], rsi
jne 0x14014c787
test rbx, rbx
je 0x14014c784
cmp cx, word [rbx + 0x5c]
jge 0x14014c787
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14014c762
test rbx, rbx
je 0x14014c7ac
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r10
mov dword [rbp + 0xf8], eax
call fcn.14013a480
mov r13, rax
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014c7e1
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.1400dbdb0
jmp 0x14014c818
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 0x14014c880
mov rax, qword [rdi]
cmp byte [rax + 0x67], sil
je 0x14014c844
cmp qword [rax + 0x308], rsi
jne 0x14014c880
add dword [r13], 0xffffffff
jne 0x14014c880
mov rcx, qword [r13 + 0x10]
mov rdx, r13
call fcn.1401253b0
jmp 0x14014c880
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 0x14014c878
mov r9d, 0xfffffff8
mov r8, r13
mov rcx, rdi
call fcn.1401738e0
jmp 0x14014c880
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 0x14014c8d0
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x62
mov r8d, r12d
mov rcx, rdi
call fcn.1400fa130
jmp 0x14014c8fd
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 0x14014c924
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x7a]
call fcn.1400fa130
jmp 0x14014c94e
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 0x14014cc6c
test rbx, rbx
je 0x14014c985
test byte [r15 + 0x30], 0x80
je 0x14014c979
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14014c985
mov rax, qword [rbx]
lea rcx, [0x140217320]
jmp 0x14014c992
lea rcx, [0x140217320]
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.14015e7b0
jmp 0x14014cc6c
mov r14d, esi
mov edx, dword [r13 + 0x30]
mov r15, rsi
movzx ebx, si
cmp dword [r13 + 0x24], esi
je 0x14014ca82
mov r8d, esi
test edx, edx
jle 0x14014ca18
mov rcx, qword [r13 + 0x28]
mov r9d, edx
nop dword [rax + rax]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x14014ca09
mov rax, qword [rcx + 8]
mov edx, r9d
test byte [rax + 4], 0x20
jne 0x14014ca18
inc r8d
add rcx, 0x18
mov edx, r9d
cmp r8d, r9d
jl 0x14014c9f0
cmp r8d, edx
jne 0x14014caa5
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 0x14014ca56
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, r14d
mov rcx, rdi
lea edx, [r8 + 0x47]
call fcn.1400fa130
jmp 0x14014caa5
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 0x14014caa5
cmp edx, 1
jne 0x14014caa5
mov rax, qword [r13 + 0x28]
cmp dword [rax + 0x10], esi
jl 0x14014caa5
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.140110610
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.140164c00
mov rbx, rax
test rax, rax
je 0x14014b739
movzx r15d, byte [rax + 0x43]
mov r8, r13
mov rcx, qword [rbp + 0xe0]
mov r9d, r15d
mov edx, r14d
call fcn.140171810
test r15d, r15d
je 0x14014cb4d
mov r8, qword [r13 + 0x28]
test r8, r8
je 0x14014cb4d
mov r9d, dword [r8 + 0x14]
mov edx, r15d
mov r8d, dword [r8 + 0x10]
mov rcx, qword [rbp + 0xe0]
call fcn.1400f3150
test r14d, r14d
je 0x14014cbac
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014cb7b
mov edx, 0x47
mov dword [rsp + 0x20], esi
mov r9d, r14d
mov rcx, rdi
lea r8d, [rdx - 0x46]
call fcn.1400fa130
jmp 0x14014cbac
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 0x14014cc52
test byte [rbx + 0x44], 4
je 0x14014cc52
cmp byte [rbx + 0x41], sil
je 0x14014cc52
movzx edx, byte [rbx + 0x40]
sub rdx, 1
js 0x14014cbf7
imul rcx, rdx, 0x70
add rcx, rbx
nop word [rax + rax]
mov rax, qword [rcx + 0x3c0]
test byte [rax + 0x38], 4
jne 0x14014cc21
sub rcx, 0x70
sub rdx, 1
jns 0x14014cbe0
mov edx, dword [rbx + 0x34]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14014cc29
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 9]
call fcn.1400fa130
jmp 0x14014cc52
mov edx, dword [rcx + 0x370]
jmp 0x14014cbfa
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.140168a20
mov r12, qword [rbp + 0xe0]
mov rdx, r13
mov rcx, r12
call fcn.1400f2ab0
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.14012d170
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.140114960
mov rcx, qword [rdi + 0x18]
not ebx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014ccda
mov r8d, ebx
mov rdx, rdi
call fcn.1401108f0
mov rbx, qword [rbp + 0xe8]
jmp 0x14014ccf1
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 0x14014cd10
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r12
call fcn.14015e7b0
cmp qword [rbp + 0x60], 0
je 0x14014cd33
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.1400f8320
mov rcx, qword [rdi + 0x18]
mov edx, dword [rbp - 0x40]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014cd51
mov r8d, edx
mov rdx, rdi
call fcn.1401108f0
jmp 0x14014cd62
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 0x14014b74b
mov r12, qword [rbp + 0xe0]
mov r13d, 1
lea r8, [0x140243b38]
movsxd rcx, dword [r12 + 0x138]
test ecx, ecx
je 0x14014cdbb
mov rdx, qword [r12 + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
jne 0x14014cdb7
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 0x140149cc9
mov eax, r13d
jmp 0x140149cd1