Function at 0x14007bc80
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
lea rbp, [rsp - 0x118]
sub rsp, 0x218
mov rbx, rcx
xor edi, edi
mov ecx, 1
mov qword [rbp - 0x38], rdi
mov rsi, rdx
mov qword [rbp + 0xd0], rcx
mov eax, dword [rbx + 0x1fc]
mov dword [rbp + 0x90], eax
mov eax, dword [rbx + 0x200]
mov dword [rbx + 0x1fc], eax
inc eax
mov dword [rbx + 0x200], eax
mov rax, qword [rbx]
mov qword [rsp + 0x70], rax
test rdx, rdx
je 0x14007de02
cmp byte [rax + 0x51], dil
jne 0x14007de02
cmp dword [rbx + 0x4c], edi
jne 0x14007de02
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
lea edx, [rdi + 0x15]
mov rcx, rbx
call fcn.1400586a0
test eax, eax
je 0x14007bd27
lea eax, [rdi + 1]
add rsp, 0x218
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor eax, eax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x150]
cmp byte [rax], 8
ja 0x14007bd76
mov rdx, qword [rsi + 0x48]
mov rcx, qword [rsp + 0x70]
call fcn.14004f8a0
mov eax, 0xfffe
mov qword [rsi + 0x48], rdi
and word [rsi + 0xa], ax
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
call fcn.14007b4d0
mov r9, qword [rsi + 0x28]
xor eax, eax
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], rax
mov rax, qword [rsi + 0x48]
mov qword [rbp - 0x70], rax
mov qword [rbp + 0x98], rax
mov qword [rbp - 0x80], r9
cmp dword [rbx + 0x4c], edi
jne 0x14007dcee
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x51], dil
jne 0x14007dce9
mov rax, qword [rbp + 0x150]
movzx r10d, word [rsi + 0xa]
shr r10d, 3
and r10d, 1
movzx ecx, byte [rax]
mov rax, qword [rsi]
mov dword [rsp + 0x78], r10d
cmp dword [rax], 1
jle 0x14007be0f
lea eax, [rcx - 0xa]
cmp eax, 1
ja 0x14007be0f
lea rdx, str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
mov rcx, rbx
call fcn.14001a630
mov rdi, qword [rsp + 0x70]
jmp 0x14007dcf8
mov edx, edi
mov dword [rbp + 0x158], edx
cmp qword [rsi + 0x50], rdx
jne 0x14007bf16
mov rax, rdi
mov qword [rsp + 0x50], rax
nop dword [rax]
cmp edx, dword [r9]
jge 0x14007bf16
imul rax, rax, 0x78
mov r8, qword [rax + r9 + 0x30]
mov r9, qword [rax + r9 + 0x28]
test r8, r8
je 0x14007bef3
movsx ecx, word [r9 + 0x3e]
mov rax, qword [r8]
cmp ecx, dword [rax]
mov rcx, rbx
jne 0x14007bf5f
movzx esi, word [r8 + 0xa]
mov r9d, r10d
mov r8d, edx
shr esi, 3
mov rdx, qword [rbp + 0x148]
and esi, 1
mov dword [rsp + 0x20], esi
call fcn.140079800
test eax, eax
je 0x14007bead
test esi, esi
je 0x14007bea0
mov rax, qword [rbp + 0x148]
mov dword [rsp + 0x78], 1
or word [rax + 0xa], 8
or rcx, 0xffffffffffffffff
mov edx, ecx
mov qword [rsp + 0x50], rcx
jmp 0x14007beb3
mov edx, dword [rbp + 0x158]
mov rsi, qword [rbp + 0x148]
mov rax, qword [rsp + 0x70]
mov r9, qword [rsi + 0x28]
mov qword [rbp - 0x80], r9
cmp byte [rax + 0x51], dil
jne 0x14007dce9
mov rax, qword [rbp + 0x150]
mov r10d, dword [rsp + 0x78]
cmp byte [rax], 8
jbe 0x14007bef7
mov rcx, qword [rsi + 0x48]
mov qword [rbp - 0x70], rcx
mov qword [rbp + 0x98], rcx
jmp 0x14007bef7
mov r9, qword [rbp - 0x80]
mov rax, qword [rsp + 0x50]
inc edx
inc rax
mov dword [rbp + 0x158], edx
mov qword [rsp + 0x50], rax
cmp qword [rsi + 0x50], rdi
je 0x14007be30
mov rcx, rbx
call fcn.140076f80
mov qword [rsp + 0x60], rax
mov r11, rax
test rax, rax
je 0x14007be05
cmp qword [rsi + 0x50], rdi
je 0x14007bf83
mov r8, qword [rbp + 0x150]
mov rdx, rsi
mov rcx, rbx
call fcn.1400778d0
mov ecx, dword [rbp + 0x90]
mov dword [rbx + 0x1fc], ecx
add rsp, 0x218
pop rdi
pop rsi
pop rbx
pop rbp
ret
movsx r8d, word [r9 + 0x3e]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov eax, dword [rax]
mov r9, qword [r9]
mov dword [rsp + 0x20], eax
call fcn.14001a630
mov rdi, qword [rsp + 0x70]
jmp 0x14007dcf8
mov rax, qword [rbp - 0x80]
mov dword [rsp + 0x68], edi
cmp dword [rax], edi
jle 0x14007c25a
lea rsi, [rax + 0x38]
mov rcx, rax
nop word [rax + rax]
mov rax, qword [rsi - 8]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14007c23d
mov r9d, dword [rsi]
test r9d, r9d
je 0x14007bfe3
test byte [rsi + 0x10], 0x10
jne 0x14007c23d
mov r8d, dword [rsi + 4]
mov edx, 0xf
mov rcx, r11
mov dword [rsp + 0x20], edi
call fcn.140037d60
mov r11, qword [rsp + 0x60]
jmp 0x14007c239
mov rcx, qword [rbp + 0x148]
lea rdx, [rbp + 0x158]
mov dword [rbp + 0x158], edi
call fcn.14004dd30
mov eax, dword [rbp + 0x158]
add dword [rbx + 0x1f8], eax
test byte [rsi + 0xc], 0x20
jne 0x14007c031
mov rax, qword [rbp + 0x148]
mov r9d, dword [rsi + 0x18]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
mov r8, qword [rax + 0x30]
call fcn.140079e90
mov r11, qword [rsp + 0x60]
mov rax, qword [rbp - 0x80]
cmp dword [rax], 1
jne 0x14007c10e
mov rax, qword [rbp + 0x148]
test byte [rax + 0xa], 2
jne 0x14007c10e
mov rcx, qword [rsp + 0x70]
mov eax, 0x100
test word [rcx + 0x4c], ax
jne 0x14007c10e
mov r8d, dword [rbx + 0x54]
xor r9d, r9d
mov edi, dword [r11 + 0x3c]
inc r8d
mov dword [rbx + 0x54], r8d
inc edi
mov rcx, r11
mov dword [rsi + 4], r8d
lea edx, [r9 + 0x11]
mov dword [rsp + 0x20], edi
call fcn.140037d60
mov eax, dword [rsi + 4]
lea r8, [rbp]
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
mov dword [rbp + 4], eax
xor eax, eax
mov qword [rbp + 8], rax
mov dword [rsi], edi
movzx eax, byte [rbx + 0x200]
mov byte [rsi + 0x14], al
mov word [rbp], 0xd
call fcn.14007bc80
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x20]
call fcn.14001b7e0
mov rcx, qword [rsi - 0x10]
xor r9d, r9d
mov dword [rsp + 0x20], 0
mov word [rcx + 0x42], ax
lea edx, [r9 + 0x12]
mov eax, dword [rbp + 8]
mov r8d, dword [rsi + 4]
mov rcx, qword [rsp + 0x60]
or dword [rsi + 0x10], 0x10
mov dword [rsi + 8], eax
call fcn.140037d60
mov r11, qword [rsp + 0x60]
lea edx, [rdi - 1]
mov rcx, r11
call fcn.140038410
xor edi, edi
jmp 0x14007c1fe
mov r9d, dword [rbx + 0x54]
xor r8d, r8d
inc r9d
mov dword [rbp + 0x158], edi
mov dword [rbx + 0x54], r9d
mov rcx, r11
mov dword [rsi + 4], r9d
lea edx, [r8 + 0x17]
mov dword [rsp + 0x20], edi
call fcn.140037d60
test byte [rsi + 0x10], 8
mov dword [rbp - 0x78], eax
lea ecx, [rax + 1]
mov dword [rsi], ecx
jne 0x14007c152
mov rcx, rbx
call fcn.14004fe80
mov dword [rbp + 0x158], eax
mov ecx, dword [rsi + 0x18]
lea r8, [rbp]
mov rdx, qword [rsp + 0x50]
mov dword [rbp + 4], ecx
movzx ecx, byte [rbx + 0x200]
mov byte [rsi + 0x14], cl
mov rcx, rbx
mov word [rbp], 0xc
mov qword [rbp + 8], 0
call fcn.14007bc80
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x20]
call fcn.14001b7e0
mov rcx, qword [rsi - 0x10]
mov r10, qword [rsp + 0x60]
mov word [rcx + 0x42], ax
mov eax, dword [rbp + 0x158]
test eax, eax
je 0x14007c1b0
mov edx, eax
mov rcx, r10
call fcn.140038410
mov r8d, dword [rsi + 4]
xor r9d, r9d
mov rcx, r10
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x10]
call fcn.140037d60
mov r11, qword [rsp + 0x60]
mov edx, eax
mov eax, dword [rbp - 0x78]
test eax, eax
jns 0x14007c1db
mov eax, dword [r11 + 0x3c]
dec eax
mov rcx, qword [r11]
cmp byte [rcx + 0x51], 0
je 0x14007c1ed
lea rcx, [0x140120b10]
jmp 0x14007c1fb
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r11 + 8]
lea rcx, [rax + rcx*8]
mov dword [rcx + 4], edx
mov rax, qword [rsp + 0x70]
mov dword [rbx + 0x44], edi
mov byte [rbx + 0x1f], 0
cmp byte [rax + 0x51], 0
jne 0x14007dcf5
mov rcx, qword [rbp + 0x148]
lea rdx, [rbp + 0x158]
mov dword [rbp + 0x158], edi
call fcn.14004dd30
mov edx, dword [rbp + 0x158]
sub dword [rbx + 0x1f8], edx
mov rcx, qword [rbp - 0x80]
mov eax, dword [rsp + 0x68]
add rsi, 0x78
inc eax
mov dword [rsp + 0x68], eax
cmp eax, dword [rcx]
jl 0x14007bfa0
mov rsi, qword [rbp + 0x148]
mov rax, qword [rsi + 0x30]
mov rcx, qword [rsi]
mov rdx, qword [rsi + 0x40]
mov qword [rbp - 0x30], rax
mov rax, qword [rsi + 0x38]
mov qword [rsp + 0x50], rax
movzx eax, byte [rsi + 0xa]
and al, 1
mov qword [rbp - 0x38], rcx
mov byte [rbp + 0x158], al
mov byte [rbp], al
movzx eax, byte [rsi + 0xa]
mov rsi, qword [rbp - 0x70]
and al, 9
mov qword [rbp + 0xb8], rdx
cmp al, 1
jne 0x14007c2e5
mov rdx, rcx
or r8d, 0xffffffff
mov rcx, rsi
call fcn.140053cd0
test eax, eax
jne 0x14007c2e1
mov rax, qword [rbp + 0x148]
mov ecx, 0xfffe
mov rdx, qword [rbp - 0x38]
xor r8d, r8d
and word [rax + 0xa], cx
mov rcx, qword [rsp + 0x70]
call fcn.14004eea0
mov rcx, rax
mov qword [rsp + 0x50], rax
mov rax, qword [rbp + 0x148]
mov qword [rax + 0x38], rcx
mov rcx, qword [rbp - 0x38]
test rsi, rsi
je 0x14007c354
mov r9d, dword [rcx]
xor r8d, r8d
mov rcx, rbx
mov rdx, rsi
call fcn.1400757b0
mov r8d, dword [rbx + 0x50]
mov rdi, rax
mov rax, qword [rbp - 0x38]
mov dword [rbp + 0xa4], r8d
mov dword [rsp + 0x20], 0
lea ecx, [r8 + 1]
mov dword [rbx + 0x50], ecx
mov edx, dword [rax]
mov r9d, dword [rsi]
inc edx
mov rcx, qword [rsp + 0x60]
add r9d, edx
mov edx, 0x39
call fcn.140037d60
mov rcx, qword [rsp + 0x60]
mov r9d, 0xfffffffa
mov r8, rdi
mov dword [rbp - 0x50], eax
mov edx, eax
call fcn.1400387d0
mov esi, dword [rbp - 0x50]
xor edi, edi
jmp 0x14007c35a
or esi, 0xffffffff
mov dword [rbp - 0x50], esi
mov rax, qword [rbp + 0x150]
mov dword [rbp + 0xb0], esi
cmp byte [rax], 0xc
jne 0x14007c38f
mov rcx, qword [rbp - 0x38]
mov edx, 0x39
mov r8d, dword [rax + 4]
mov dword [rsp + 0x20], edi
mov rdi, qword [rsp + 0x60]
mov r9d, dword [rcx]
mov rcx, rdi
call fcn.140037d60
jmp 0x14007c394
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.140038130
mov ecx, eax
mov dword [rbp + 0xc0], eax
mov rax, qword [rbp + 0x148]
movabs rdx, 0x7fffffffffffffff
mov r8d, ecx
mov rcx, rbx
mov qword [rax + 0x20], rdx
mov rdx, rax
call fcn.140077000
mov rdx, qword [rbp + 0x148]
cmp dword [rdx + 0xc], 0
jne 0x14007c403
test esi, esi
js 0x14007c403
mov rcx, qword [rdi]
cmp byte [rcx + 0x51], 0
je 0x14007c3ea
lea rax, [0x140120b10]
jmp 0x14007c3f9
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea rax, [rax + rcx*8]
or byte [rbp + 0xb4], 1
mov byte [rax], 0x3a
test byte [rdx + 0xa], 1
je 0x14007c4a3
mov edi, dword [rbx + 0x50]
xor r9d, r9d
xor r8d, r8d
mov dword [rbp + 4], edi
mov rcx, rbx
lea eax, [rdi + 1]
mov dword [rbx + 0x50], eax
mov rdx, qword [rdx]
call fcn.1400757b0
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
mov r8d, edi
mov dword [rsp + 0x20], 0
mov rsi, rax
lea edx, [r9 + 0x39]
call fcn.140037d60
mov rcx, qword [rsp + 0x60]
mov r9d, 0xfffffffa
mov r8, rsi
mov edx, eax
mov edi, eax
call fcn.1400387d0
mov dword [rbp + 8], edi
mov rdi, qword [rsp + 0x60]
mov rax, qword [rdi]
mov ecx, dword [rdi + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x14007c47f
lea rax, [0x140120b10]
jmp 0x14007c48e
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea rax, [rax + rcx*8]
mov rdx, qword [rbp + 0x148]
mov cl, 3
mov dword [rbp - 0x14], ecx
mov byte [rbp + 1], cl
mov byte [rax + 3], 8
jmp 0x14007c4ab
xor al, al
mov dword [rbp - 0x14], eax
mov byte [rbp + 1], al
mov eax, dword [rsp + 0x78]
mov r9, qword [rsp + 0x50]
test eax, eax
jne 0x14007c5e1
test r9, r9
jne 0x14007c5e1
movzx eax, byte [rbp + 0x158]
mov r9, qword [rbp - 0x70]
neg al
mov rax, qword [rdx]
mov r8, qword [rbp - 0x30]
sbb cx, cx
mov rdx, qword [rbp - 0x80]
and cx, 0x400
xor esi, esi
mov dword [rsp + 0x30], esi
mov word [rsp + 0x28], cx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.14008e4b0
mov qword [rbp + 0x140], rax
mov r9, rax
test rax, rax
je 0x14007be05
movzx ecx, word [rax + 0x30]
call fcn.14001b870
mov r10, rax
mov rax, qword [rbp + 0x148]
cmp r10, qword [rax + 0x20]
jae 0x14007c52d
mov qword [rax + 0x20], r10
cmp byte [rbp + 0x158], sil
je 0x14007c54c
movzx eax, byte [r9 + 0x38]
mov ecx, dword [rbp - 0x14]
test al, al
movzx ecx, cl
cmovne ecx, eax
mov dword [rbp - 0x14], ecx
mov byte [rbp + 1], cl
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x14007c56d
movsx eax, byte [r9 + 0x34]
cmp eax, dword [rcx]
mov dword [rbp + 0xa0], eax
cmove rcx, rsi
mov qword [rbp + 0x98], rcx
mov edx, dword [rbp - 0x50]
test edx, edx
js 0x14007c588
test rcx, rcx
jne 0x14007c588
mov rcx, rdi
call fcn.140038760
mov r9, qword [rbp + 0x140]
mov eax, dword [r9 + 0x44]
mov rcx, rbx
mov r8, qword [rbp - 0x38]
mov rdx, qword [rbp + 0x148]
mov dword [rsp + 0x40], eax
mov eax, dword [r9 + 0x40]
or r9d, 0xffffffff
mov dword [rsp + 0x38], eax
mov rax, qword [rbp + 0x150]
mov qword [rsp + 0x30], rax
lea rax, [rbp]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
call fcn.140074b00
mov rcx, qword [rbp + 0x140]
call fcn.14008eee0
jmp 0x14007dba3
xor esi, esi
mov dword [rbp - 0x58], esi
mov dword [rsp + 0x58], esi
test r9, r9
je 0x14007c63e
mov rax, qword [rdx]
mov ecx, dword [rax]
mov r8, qword [rax + 8]
test ecx, ecx
jle 0x14007c60d
lea rax, [r8 + 0x22]
dec ecx
mov word [rax], si
lea rax, [rax + 0x28]
test ecx, ecx
jg 0x14007c600
mov eax, dword [r9]
mov rcx, qword [r9 + 8]
test eax, eax
jle 0x14007c62d
add rcx, 0x22
nop dword [rax]
dec eax
mov word [rcx], si
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x14007c620
cmp qword [rdx + 0x20], 0x64
jbe 0x14007c646
mov qword [rdx + 0x20], 0x64
jmp 0x14007c646
mov qword [rdx + 0x20], 1
mov rdx, qword [rbp - 0x70]
or r8d, 0xffffffff
mov rcx, r9
call fcn.140053cd0
test eax, eax
mov ecx, esi
mov eax, 1
cmove ecx, eax
mov dword [rbp + 0x94], ecx
mov rcx, qword [rdi + 0x30]
mov qword [rbp - 0x60], rcx
mov r8d, dword [rcx + 0x78]
mov dword [rbp - 0x68], r8d
lea eax, [r8 + 1]
mov dword [rcx + 0x78], eax
lea eax, [r8 - 1]
test r8d, eax
jne 0x14007c6b5
mov rdx, qword [rcx + 0x80]
lea eax, [r8*2 + 1]
mov rcx, qword [rcx]
movsxd r8, eax
shl r8, 2
call fcn.140017ab0
mov rcx, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x68]
mov qword [rcx + 0x80], rax
mov rdx, qword [rcx + 0x80]
test rdx, rdx
je 0x14007c6cb
movsxd rax, r8d
mov dword [rdx + rax*4], 0xffffffff
mov rcx, qword [rsp + 0x50]
xor eax, eax
mov qword [rbp + 0xe8], rax
not r8d
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], rax
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0xe0], rax
lea rax, [rbp + 0x50]
mov qword [rbp + 0xf0], rax
mov eax, dword [rbx + 0x54]
inc eax
mov dword [rbp - 0x68], r8d
mov qword [rbp + 0xd8], rbx
mov dword [rbp + 0x60], eax
test rcx, rcx
je 0x14007c726
mov eax, dword [rcx]
mov dword [rbp + 0x5c], eax
jmp 0x14007c729
mov dword [rbp + 0x5c], esi
mov qword [rbp + 0x68], rcx
lea rdx, [0x140053f20]
mov rcx, qword [rbp - 0x38]
lea r8, [0x140016b20]
test rcx, rcx
je 0x14007c7b4
mov rax, qword [rcx + 8]
cmp dword [rcx], esi
jle 0x14007c7b4
mov rbx, rax
mov edi, esi
xor eax, eax
mov qword [rbp + 0x18], rdx
mov rdx, qword [rbx]
lea rcx, [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0xd8]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x20], r8
call fcn.14004adc0
mov rax, qword [rbp - 0x38]
lea rbx, [rbx + 0x28]
inc edi
lea rdx, [0x140053f20]
lea r8, [0x140016b20]
cmp edi, dword [rax]
jl 0x14007c751
mov rbx, qword [rbp + 0x140]
lea rdx, [0x140053f20]
mov rdi, qword [rsp + 0x60]
lea r8, [0x140016b20]
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x14007c829
mov rcx, qword [rax + 8]
mov dword [rsp + 0x68], esi
cmp dword [rax], esi
jle 0x14007c829
mov rdi, rax
mov rbx, rcx
nop
xor eax, eax
mov qword [rbp + 0x18], rdx
mov rdx, qword [rbx]
lea rcx, [rbp + 0x18]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0xd8]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x20], r8
call fcn.14004adc0
mov eax, dword [rsp + 0x68]
lea rbx, [rbx + 0x28]
inc eax
lea rdx, [0x140053f20]
lea r8, [0x140016b20]
mov dword [rsp + 0x68], eax
cmp eax, dword [rdi]
jl 0x14007c7d0
mov rbx, qword [rbp + 0x140]
mov rdi, qword [rsp + 0x60]
mov rax, qword [rbp + 0xb8]
test rax, rax
je 0x14007c870
xor ecx, ecx
mov rdx, rax
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rcx
lea rcx, [0x140053f20]
mov qword [rbp + 0x18], rcx
lea rcx, [0x140016b20]
mov qword [rbp + 0x20], rcx
lea rcx, [rbp + 0xd8]
mov qword [rbp + 0x40], rcx
lea rcx, [rbp + 0x18]
call fcn.14004adc0
mov r8d, dword [rbp + 0x88]
mov r9d, esi
mov ecx, dword [rbp + 0x78]
mov dword [rbp + 0x7c], ecx
mov dword [rsp + 0x68], esi
test r8d, r8d
jle 0x14007c967
movzx edx, word [rbp + 0x108]
mov rcx, rsi
mov qword [rbp - 0x20], rcx
nop dword [rax + rax]
mov rax, qword [rbp + 0x80]
or dx, 8
mov word [rbp + 0x108], dx
mov rcx, qword [rcx + rax]
mov rax, qword [rcx + 0x20]
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14007c92c
mov ebx, esi
mov rdi, qword [rax + 8]
cmp dword [rax], esi
jle 0x14007c92c
nop dword [rax]
mov rdx, qword [rdi]
lea rcx, [rbp + 0x18]
xor eax, eax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
lea rax, [0x140053f20]
mov qword [rbp + 0x18], rax
lea rax, [0x140016b20]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0xd8]
mov qword [rbp + 0x40], rax
call fcn.14004adc0
mov rax, qword [rbp - 0x60]
lea rdi, [rdi + 0x28]
inc ebx
cmp ebx, dword [rax]
jl 0x14007c8d0
mov r8d, dword [rbp + 0x88]
movzx edx, word [rbp + 0x108]
mov r9d, dword [rsp + 0x68]
mov rcx, qword [rbp - 0x20]
inc r9d
add rcx, 0x18
mov dword [rsp + 0x68], r9d
mov eax, 0xfff7
mov qword [rbp - 0x20], rcx
and dx, ax
mov word [rbp + 0x108], dx
cmp r9d, r8d
jl 0x14007c8a0
mov ecx, dword [rbp + 0x78]
mov rbx, qword [rbp + 0x140]
mov rdi, qword [rsp + 0x60]
mov eax, dword [rbx + 0x54]
mov dword [rbp + 0x64], eax
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x51], sil
jne 0x14007dcf5
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x14007d626
mov eax, dword [rbx + 0x50]
mov r9d, ecx
mov dword [rbp + 0x54], eax
xor r8d, r8d
inc eax
mov rcx, rbx
mov dword [rbx + 0x50], eax
call fcn.1400757b0
mov r9d, dword [rbp + 0x5c]
mov edx, 0x3a
mov r8d, dword [rbp + 0x54]
mov rcx, rdi
mov qword [rbp - 0x20], rax
mov dword [rsp + 0x20], esi
call fcn.140037d60
mov r8, qword [rbp - 0x20]
mov r9d, 0xfffffffa
mov edx, eax
mov dword [rbp - 0x78], eax
mov rcx, rdi
call fcn.1400387d0
mov eax, dword [rbx + 0x54]
inc eax
mov dword [rbp - 8], eax
inc eax
mov dword [rbp - 0xc], eax
inc eax
mov dword [rbx + 0x54], eax
mov rcx, qword [rdi + 0x30]
mov dword [rbp - 0x44], eax
mov qword [rbp - 0x60], rcx
mov r8d, dword [rcx + 0x78]
mov dword [rbp - 0x48], r8d
lea eax, [r8 + 1]
mov dword [rcx + 0x78], eax
lea eax, [r8 - 1]
test r8d, eax
jne 0x14007ca39
mov rdx, qword [rcx + 0x80]
lea eax, [r8*2 + 1]
mov rcx, qword [rcx]
movsxd r8, eax
shl r8, 2
call fcn.140017ab0
mov rcx, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x48]
mov qword [rcx + 0x80], rax
mov rdx, qword [rcx + 0x80]
test rdx, rdx
je 0x14007ca4f
movsxd rax, r8d
mov dword [rdx + rax*4], 0xffffffff
inc dword [rbx + 0x54]
not r8d
mov rcx, qword [rdi + 0x30]
mov eax, dword [rbx + 0x54]
mov dword [rsp + 0x68], eax
mov dword [rbp - 0x48], r8d
mov r8d, dword [rcx + 0x78]
mov qword [rbp - 0x60], rcx
mov dword [rsp + 0x78], r8d
lea eax, [r8 + 1]
mov dword [rcx + 0x78], eax
lea eax, [r8 - 1]
test r8d, eax
jne 0x14007caaf
mov rdx, qword [rcx + 0x80]
lea eax, [r8*2 + 1]
mov rcx, qword [rcx]
movsxd r8, eax
shl r8, 2
call fcn.140017ab0
mov rcx, qword [rbp - 0x60]
mov r8d, dword [rsp + 0x78]
mov qword [rcx + 0x80], rax
mov rdx, qword [rcx + 0x80]
test rdx, rdx
je 0x14007cac5
movsxd rax, r8d
mov dword [rdx + rax*4], 0xffffffff
mov ecx, dword [rbx + 0x54]
not r8d
mov r9d, dword [rbp - 0xc]
mov dword [rsp + 0x78], r8d
mov r8, qword [rsp + 0x50]
lea eax, [rcx + 1]
mov dword [rsp + 0x20], esi
mov dword [rbp - 0x10], eax
mov edx, dword [r8]
add edx, ecx
mov dword [rbx + 0x54], edx
mov ecx, dword [r8]
xor r8d, r8d
add ecx, edx
lea eax, [rdx + 1]
mov dword [rbx + 0x54], ecx
mov rcx, rdi
mov dword [rbp - 0x54], eax
lea edx, [r8 + 0x17]
call fcn.140037d60
mov r9d, dword [rbp - 8]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r8 + 0x17]
call fcn.140037d60
mov edx, dword [rbp - 0x10]
xor r8d, r8d
mov rcx, qword [rsp + 0x50]
mov r9d, edx
mov eax, dword [rcx]
lea ecx, [rdx - 1]
add ecx, eax
lea edx, [r8 + 0x1a]
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.140037d60
mov r9d, dword [rsp + 0x78]
mov edx, 0xf
mov r8d, dword [rsp + 0x68]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.140037d60
cmp dword [rbp + 0x94], esi
mov ecx, 0x900
mov r9, qword [rsp + 0x50]
mov eax, 0x100
mov r8, qword [rbp - 0x30]
cmovne ax, cx
mov rdx, qword [rbp - 0x80]
mov rcx, rbx
mov dword [rsp + 0x30], esi
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], rsi
call fcn.14008e4b0
mov qword [rbp - 0x30], rax
mov rdx, rax
test rax, rax
je 0x14007be05
movsx ecx, byte [rax + 0x34]
mov rax, qword [rsp + 0x50]
mov qword [rbp - 0x60], 0xa
cmp ecx, dword [rax]
jne 0x14007cbc5
mov ecx, esi
mov dword [rbp - 0x4c], ecx
jmp 0x14007d00c
cmp byte [rbp + 0x158], sil
je 0x14007cbe2
mov rax, qword [rbp + 0x148]
lea rdx, str.DISTINCT
test byte [rax + 0xa], 1
je 0x14007cbe9
lea rdx, str.GROUP_BY
mov rcx, rbx
call fcn.140075870
mov r11, qword [rsp + 0x50]
mov edx, dword [rbp + 0x78]
mov dword [rbp - 0x4c], 1
mov eax, dword [r11]
mov r8d, eax
mov dword [rsp + 0x58], eax
mov ecx, eax
mov dword [rbp - 0x18], eax
test edx, edx
jle 0x14007cc37
mov rax, qword [rbp + 0x70]
add rax, 0x10
nop dword [rax + rax]
cmp dword [rax], ecx
jl 0x14007cc29
inc r8d
inc ecx
add rax, 0x20
sub rdx, 1
jne 0x14007cc20
mov dword [rbp - 0x18], r8d
mov ecx, dword [rbx + 0x44]
mov r10d, dword [rbx + 0x48]
mov dword [rbp + 0x158], r10d
cmp r8d, ecx
jg 0x14007cc59
lea eax, [r10 + r8]
sub ecx, r8d
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], ecx
jmp 0x14007cc6d
mov eax, dword [rbx + 0x54]
lea r10d, [rax + 1]
add eax, r8d
mov dword [rbx + 0x54], eax
mov dword [rbp + 0x158], r10d
lea rax, [rbx + 0x88]
mov r8d, 0xa
lea rcx, [rax + 0xc]
nop
mov edx, dword [rcx]
test edx, edx
je 0x14007cca4
cmp byte [rcx - 6], sil
je 0x14007cca2
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x14007cc9e
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], sil
mov dword [rcx], esi
add rcx, 0x14
sub r8, 1
jne 0x14007cc80
xor r9d, r9d
mov byte [rsp + 0x20], sil
mov r8d, r10d
mov rdx, r11
mov rcx, rbx
call fcn.140052e80
mov ecx, dword [rbp + 0x78]
mov edx, esi
mov dword [rbp - 0x58], edx
test ecx, ecx
jle 0x14007cda5
mov r8d, dword [rsp + 0x58]
mov r11, rsi
mov qword [rbp - 0x28], rsi
mov rax, qword [rbp + 0x70]
cmp dword [r11 + rax + 0x10], r8d
jl 0x14007cd90
mov edx, dword [r11 + rax + 8]
mov ecx, esi
mov r9d, dword [r11 + rax + 0xc]
mov r10d, dword [rbp + 0x158]
mov rax, qword [r11 + rax]
add r10d, r8d
mov qword [rbp + 0xc8], rax
lea r8, [rbx + 0x88]
mov dword [rbp - 0x70], edx
mov dword [rbp - 0x40], r9d
nop
cmp dword [r8 + 0xc], esi
jle 0x14007cd39
cmp dword [r8], edx
jne 0x14007cd39
movsx eax, word [r8 + 4]
cmp eax, r9d
je 0x14007cdb9
inc ecx
add r8, 0x14
cmp ecx, 0xa
jl 0x14007cd20
mov rcx, qword [rbx + 0x10]
mov r8d, edx
mov rdx, qword [rbp + 0xc8]
mov dword [rsp + 0x20], r10d
call fcn.140051650
mov eax, dword [rsp + 0x58]
mov rcx, rbx
mov r9d, dword [rbp + 0x158]
mov edx, dword [rbp - 0x70]
add r9d, eax
mov r8d, dword [rbp - 0x40]
call fcn.140051380
mov r11, qword [rbp - 0x28]
mov r8d, dword [rsp + 0x58]
mov ecx, dword [rbp + 0x78]
inc r8d
mov edx, dword [rbp - 0x58]
mov dword [rsp + 0x58], r8d
inc edx
add r11, 0x20
mov dword [rbp - 0x58], edx
mov qword [rbp - 0x28], r11
cmp edx, ecx
jl 0x14007cce0
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x14007cdee
inc dword [rbx + 0x54]
mov ecx, dword [rbx + 0x54]
mov dword [rsp + 0x58], ecx
jmp 0x14007cdfe
mov eax, dword [rbx + 0x74]
mov rcx, rbx
mov dword [r8 + 0x10], eax
inc dword [rbx + 0x74]
mov edx, dword [r8 + 0xc]
call fcn.1400515b0
mov r8d, dword [r8 + 0xc]
cmp r10d, r8d
je 0x14007cd7d
mov r9d, r10d
mov dword [rsp + 0x20], esi
mov edx, 0x20
mov rcx, rdi
call fcn.140037d60
jmp 0x14007cd79
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov eax, dword [rbx + rax*4 + 0x24]
mov dword [rsp + 0x58], eax
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
mov dword [rbp - 0x70], ecx
cmp dword [rax + 0x60], ecx
jg 0x14007ce1c
mov rcx, rdi
call fcn.140037cb0
test eax, eax
jne 0x14007ce57
mov ecx, dword [rbp - 0x70]
inc dword [rdi + 0x3c]
mov edx, dword [rbp + 0x158]
mov r9d, dword [rsp + 0x58]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x18]
mov dword [rax + rcx*8 + 8], edx
mov word [rax + rcx*8], 0x31
mov byte [rax + rcx*8 + 3], sil
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], rsi
jmp 0x14007ce5c
mov r9d, dword [rsp + 0x58]
mov r8d, dword [rbp + 0x54]
mov edx, 0x6e
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.140037d60
mov edx, dword [rsp + 0x58]
test edx, edx
je 0x14007ceb1
movzx r8d, byte [rbx + 0x1f]
cmp r8b, 8
jae 0x14007ceb1
mov ecx, esi
lea rax, [rbx + 0x88]
nop dword [rax]
cmp dword [rax + 0xc], edx
je 0x14007cead
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x14007ce90
movzx eax, r8b
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
jmp 0x14007ceb1
mov byte [rax + 6], 1
mov r10d, dword [rbp - 0x18]
lea rcx, [rbx + 0x94]
mov eax, dword [rbp + 0x158]
mov r8d, 0xa
lea r9d, [r10 - 1]
add r9d, eax
nop
mov edx, dword [rcx]
cmp edx, eax
jl 0x14007ceff
cmp edx, r9d
jg 0x14007ceff
cmp byte [rcx - 6], sil
je 0x14007cefd
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x14007cef3
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov eax, dword [rbp + 0x158]
mov byte [rcx - 6], sil
mov dword [rcx], esi
add rcx, 0x14
sub r8, 1
jne 0x14007ced0
cmp r10d, dword [rbx + 0x44]
jle 0x14007cf16
mov dword [rbx + 0x44], r10d
mov dword [rbx + 0x48], eax
mov rcx, qword [rbp - 0x30]
call fcn.14008eee0
mov eax, dword [rbx + 0x50]
mov dword [rbp - 0x58], eax
mov dword [rbp + 0x58], eax
inc eax
mov dword [rbx + 0x50], eax
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x14007cf41
inc dword [rbx + 0x54]
mov edx, dword [rbx + 0x54]
mov dword [rsp + 0x58], edx
jmp 0x14007cf51
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov eax, dword [rbx + rax*4 + 0x24]
mov dword [rsp + 0x58], eax
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
mov dword [rbp + 0x158], ecx
cmp dword [rax + 0x60], ecx
jg 0x14007cf75
mov rcx, rdi
call fcn.140037cb0
test eax, eax
jne 0x14007cfa9
mov ecx, dword [rbp + 0x158]
inc dword [rdi + 0x3c]
mov edx, dword [rbp - 0x58]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x58]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rbp - 0x18]
mov dword [rax + rcx*8 + 0xc], edx
mov word [rax + rcx*8], 0x3c
mov byte [rax + rcx*8 + 3], sil
mov qword [rax + rcx*8 + 0x10], rsi
mov r9d, dword [rbp - 0x68]
mov edx, 0x6b
mov r8d, dword [rbp + 0x54]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.140037d60
lea rax, [rbx + 0x88]
mov byte [rbp + 0x51], 1
lea rcx, [rax + 0xc]
mov r8d, 0xa
mov edx, dword [rcx]
test edx, edx
je 0x14007cffb
cmp byte [rcx - 6], sil
je 0x14007cff9
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x14007cff5
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], sil
mov dword [rcx], esi
add rcx, 0x14
sub r8, 1
jne 0x14007cfd7
mov ecx, dword [rbp - 0x4c]
mov rdx, qword [rbp - 0x30]
cmp dword [rbp + 0x94], esi
je 0x14007d07d
mov rax, qword [rsp + 0x70]
test byte [rax + 0x4c], 4
jne 0x14007d07d
test ecx, ecx
jne 0x14007d029
cmp byte [rdx + 0x35], sil
je 0x14007d07d
movsxd rax, dword [rbp - 0x50]
mov qword [rbp + 0x98], rsi
cmp eax, dword [rdi + 0x3c]
jge 0x14007d07d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
movsx edx, byte [rax + rcx*8 + 1]
lea rdi, [rax + rcx*8]
mov rax, qword [rsp + 0x60]
mov r8, qword [rdi + 0x10]
mov rcx, qword [rax]
call fcn.1400384b0
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9f
mov rdi, qword [rsp + 0x60]
mov eax, dword [rdi + 0x3c]
dec eax
cmp dword [rbp - 0x50], eax
jne 0x14007d07d
mov dword [rdi + 0x3c], eax
mov eax, dword [rdi + 0x3c]
lea rcx, [rbx + 0x94]
mov dword [rbp - 0x40], eax
mov r8d, 0xa
mov edx, dword [rcx]
test edx, edx
je 0x14007d0b4
cmp byte [rcx - 6], sil
je 0x14007d0b2
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x14007d0ae
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], sil
mov dword [rcx], esi
add rcx, 0x14
sub r8, 1
jne 0x14007d090
cmp dword [rbp - 0x4c], esi
je 0x14007d121
mov eax, dword [rbp + 0x54]
mov ecx, dword [rdi + 0x3c]
mov dword [rbp - 0x70], eax
mov rax, qword [rdi + 0x30]
mov dword [rbp + 0x158], ecx
cmp dword [rax + 0x60], ecx
jg 0x14007d0ed
mov rcx, rdi
call fcn.140037cb0
test eax, eax
jne 0x14007d121
mov ecx, dword [rbp + 0x158]
inc dword [rdi + 0x3c]
mov edx, dword [rbp - 0x70]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x58]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rbp - 0x58]
mov dword [rax + rcx*8 + 0xc], edx
mov word [rax + rcx*8], 0x65
mov byte [rax + rcx*8 + 3], sil
mov qword [rax + rcx*8 + 0x10], rsi
mov rdx, qword [rsp + 0x50]
mov eax, esi
mov dword [rbp + 0x158], eax
cmp dword [rdx], esi
jle 0x14007d1de
mov rcx, rsi
mov qword [rbp - 0x28], rcx
nop dword [rax]
cmp dword [rbp - 0x4c], esi
je 0x14007d19c
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
mov dword [rbp - 0x70], ecx
cmp dword [rax + 0x60], ecx
jg 0x14007d163
mov rcx, rdi
call fcn.140037cb0
test eax, eax
jne 0x14007d1b7
mov ecx, dword [rbp - 0x70]
inc dword [rdi + 0x3c]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov word [rax + rcx*8], 0x2f
mov byte [rax + rcx*8 + 3], sil
mov qword [rax + rcx*8 + 0x10], rsi
lea rdx, [rax + rcx*8]
mov eax, dword [rbp - 0x58]
mov dword [rdx + 4], eax
mov eax, dword [rbp + 0x158]
mov dword [rdx + 8], eax
add eax, dword [rbp - 0x54]
mov dword [rdx + 0xc], eax
jmp 0x14007d1b7
mov r8d, dword [rbp - 0x54]
mov byte [rbp + 0x50], 1
add r8d, eax
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx + rcx]
mov rcx, rbx
call fcn.140052c90
mov eax, dword [rbp + 0x158]
mov rcx, qword [rbp - 0x28]
inc eax
mov rdx, qword [rsp + 0x50]
add rcx, 0x28
mov dword [rbp + 0x158], eax
mov qword [rbp - 0x28], rcx
cmp eax, dword [rdx]
jl 0x14007d140
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x14007d1e9
inc dword [rax]
mov eax, dword [rdx]
mov rcx, rdi
mov r9d, dword [rbp - 0x54]
mov edx, 0x2a
mov r8d, dword [rbp - 0x10]
mov dword [rsp + 0x20], eax
call fcn.140037d60
mov r8, qword [rbp - 0x20]
mov r9d, 0xfffffffa
mov edx, eax
mov rcx, rdi
call fcn.1400387d0
mov r8d, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
mov dword [rbp + 0x158], r8d
cmp dword [rax + 0x60], r8d
jg 0x14007d240
mov rcx, rdi
call fcn.140037cb0
test eax, eax
jne 0x14007d26f
mov r8d, dword [rbp + 0x158]
inc dword [rdi + 0x3c]
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov word [rax + rcx*8], 0x2b
mov byte [rax + rcx*8 + 3], sil
mov dword [rax + rcx*8 + 8], esi
lea rdx, [rax + rcx*8]
lea eax, [r8 + 1]
mov qword [rdx + 0x10], rsi
mov dword [rdx + 4], eax
mov dword [rdx + 0xc], eax
mov rax, qword [rsp + 0x50]
mov edx, 0x1e
mov r9d, dword [rbp - 0x10]
mov r8d, dword [rbp - 0x54]
mov rcx, qword [rbx + 0x10]
mov edi, dword [rax]
mov dword [rsp + 0x20], edi
call fcn.140037d60
mov eax, dword [rbp - 0x54]
lea rcx, [rbx + 0x94]
lea r8d, [rax - 1]
add r8d, edi
mov edx, dword [rcx]
cmp edx, eax
jl 0x14007d2cd
cmp edx, r8d
jg 0x14007d2cd
cmp byte [rcx - 6], sil
je 0x14007d2cb
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x14007d2c4
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov eax, dword [rbp - 0x54]
mov byte [rcx - 6], sil
mov dword [rcx], esi
add rcx, 0x14
sub qword [rbp - 0x60], 1
jne 0x14007d2a1
mov rdi, qword [rsp + 0x60]
mov edx, 0xf
mov r9d, dword [rbp - 0x48]
mov rcx, rdi
mov r8d, dword [rbp - 0x44]
mov dword [rsp + 0x20], esi
call fcn.140037d60
mov r9d, dword [rbp - 0x68]
mov edx, 0x8a
mov r8d, dword [rbp - 0xc]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.140037d60
mov r9d, dword [rsp + 0x78]
mov edx, 0xf
mov r8d, dword [rsp + 0x68]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.140037d60
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov ecx, dword [rbp + 0x158]
mov edx, dword [rdi + 0x3c]
test ecx, ecx
jns 0x14007d346
lea ecx, [rdx - 1]
mov rax, qword [rdi]
cmp byte [rax + 0x51], sil
je 0x14007d358
lea rax, [0x140120b10]
jmp 0x14007d367
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rcx, rbx
lea rdx, [rbp + 0x50]
call fcn.14007b720
mov r9d, dword [rbp - 8]
mov edx, reloc.WS2_32.dll_socket
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea r8d, [rdx - 0x16]
call fcn.140037d60
cmp dword [rbp - 0x4c], esi
je 0x14007d3af
mov r9d, dword [rbp - 0x40]
mov edx, 4
mov r8d, dword [rbp + 0x54]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.140037d60
jmp 0x14007d405
mov rcx, qword [rbp - 0x30]
call fcn.14008eee0
movsxd rax, dword [rbp - 0x78]
cmp eax, dword [rdi + 0x3c]
jge 0x14007d405
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
movsx edx, byte [rax + rcx*8 + 1]
lea rdi, [rax + rcx*8]
mov rax, qword [rsp + 0x60]
mov r8, qword [rdi + 0x10]
mov rcx, qword [rax]
call fcn.1400384b0
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9f
mov rdi, qword [rsp + 0x60]
mov eax, dword [rdi + 0x3c]
dec eax
cmp dword [rbp - 0x78], eax
jne 0x14007d405
mov dword [rdi + 0x3c], eax
mov r9d, dword [rbp - 0x48]
mov edx, 0xf
mov r8d, dword [rbp - 0x44]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.140037d60
mov r9d, dword [rbp - 0x68]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r8 + 0xe]
call fcn.140037d60
mov eax, dword [rdi + 0x3c]
mov edx, reloc.WS2_32.dll_socket
mov r9d, dword [rbp - 0xc]
mov rcx, rdi
mov dword [rbp - 0x40], eax
mov dword [rsp + 0x20], esi
lea r8d, [rdx - 0x16]
call fcn.140037d60
mov r8d, dword [rbp - 0x44]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x10]
call fcn.140037d60
mov r10, qword [rdi + 0x30]
mov r9, qword [r10 + 0x80]
test r9, r9
je 0x14007d48a
mov eax, dword [rbp - 0x48]
not eax
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [r9 + rcx*4], eax
mov eax, dword [rdi + 0x3c]
mov edx, 0x8a
mov r8d, dword [rbp - 8]
dec eax
mov dword [r10 + 0x64], eax
mov rcx, rdi
mov eax, dword [rdi + 0x3c]
mov dword [rbp - 0x70], eax
mov dword [rsp + 0x20], esi
lea r9d, [rax + 2]
call fcn.140037d60
mov r8d, dword [rbp - 0x44]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x10]
call fcn.140037d60
mov r10, qword [rbx + 0x10]
mov qword [rbp - 0x60], r10
mov dword [rbp + 0x158], esi
cmp dword [rbp + 0x88], esi
jle 0x14007d556
mov rbx, qword [rbp + 0x80]
add rbx, 0x10
nop word [rax + rax]
mov rax, qword [rbx - 0x10]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14007d502
mov r9d, dword [rcx]
jmp 0x14007d505
mov r9d, esi
mov r8d, dword [rbx]
mov edx, 0x91
mov rdi, qword [rbx - 8]
mov rcx, r10
mov dword [rsp + 0x20], esi
call fcn.140037d60
mov rcx, qword [rbp - 0x60]
mov r9d, 0xfffffffb
mov r8, rdi
mov edx, eax
call fcn.1400387d0
mov edx, dword [rbp + 0x158]
add rbx, 0x18
mov r10, qword [rbp - 0x60]
inc edx
mov dword [rbp + 0x158], edx
cmp edx, dword [rbp + 0x88]
jl 0x14007d4f0
mov rbx, qword [rbp + 0x140]
mov edi, dword [rbp - 0x70]
mov r9d, sendto
mov rdx, qword [rbp + 0xb8]
inc edi
mov r8d, edi
mov rcx, rbx
call fcn.140053640
mov eax, dword [rbp - 0x40]
or r9d, 0xffffffff
mov dword [rsp + 0x40], eax
mov rcx, rbx
mov rax, qword [rbp + 0x150]
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rax
lea rax, [rbp]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x148]
mov rdx, rax
mov r8, qword [rax]
call fcn.140074b00
mov rdi, qword [rsp + 0x60]
xor r9d, r9d
mov r8d, dword [rbp - 0x44]
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x10]
call fcn.140037d60
mov r10, qword [rdi + 0x30]
mov r9, qword [r10 + 0x80]
test r9, r9
je 0x14007d5f4
mov eax, dword [rsp + 0x78]
not eax
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [r9 + rcx*4], eax
mov eax, dword [rdi + 0x3c]
lea rdx, [rbp + 0x50]
dec eax
mov rcx, rbx
mov dword [r10 + 0x64], eax
call fcn.14007b580
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x10]
call fcn.140037d60
jmp 0x14007db7c
mov rdx, qword [rbp + 0x148]
mov qword [rbp - 0x28], rsi
cmp qword [rdx + 0x30], rsi
jne 0x14007d953
mov rax, qword [rdx]
cmp dword [rax], 1
jne 0x14007d953
mov r10, qword [rdx + 0x28]
cmp dword [r10], 1
jne 0x14007d953
cmp qword [r10 + 0x30], rsi
jne 0x14007d953
mov r10, qword [r10 + 0x28]
mov rax, qword [rax + 8]
mov qword [rbp - 0x20], r10
test byte [r10 + 0x46], 0x10
mov r9, qword [rax]
jne 0x14007d953
cmp byte [r9], 0x9b
jne 0x14007d953
test r8d, r8d
je 0x14007d953
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax + 8]
mov eax, 0x100
test word [rcx + 2], ax
je 0x14007d953
test byte [r9 + 4], 0x10
jne 0x14007d953
mov rdx, qword [r10 + 0x68]
mov r9d, 0xfff0bdc0
mov rax, qword [rbx]
mov dword [rbp + 0x140], r9d
test rdx, rdx
je 0x14007d70b
movsxd rcx, dword [rax + 0x28]
mov r9d, esi
mov dword [rbp + 0x140], esi
test ecx, ecx
jle 0x14007d70b
mov rax, qword [rax + 0x20]
mov r8, rcx
add rax, 0x18
mov rcx, rsi
nop dword [rax]
cmp qword [rax], rdx
je 0x14007d704
inc r9d
inc rcx
add rax, 0x20
cmp rcx, r8
jl 0x14007d6f0
mov dword [rbp + 0x140], r9d
mov eax, dword [rbx + 0x50]
mov rcx, rbx
mov dword [rbp + 0x158], eax
inc eax
mov dword [rbx + 0x50], eax
mov eax, dword [r10 + 0x38]
mov dword [rbp - 0x78], eax
mov rax, qword [rbx + 0x1c0]
test rax, rax
mov qword [rbp - 0x30], rsi
mov qword [rsp + 0x50], rsi
cmovne rcx, rax
mov eax, dword [rcx + 0x16c]
bt eax, r9d
jb 0x14007d77f
bts eax, r9d
movsxd r8, r9d
mov dword [rcx + 0x16c], eax
mov rdx, r8
mov rax, qword [rcx]
shl rdx, 5
mov rax, qword [rax + 0x20]
mov rdx, qword [rax + rdx + 0x18]
mov eax, dword [rdx]
mov dword [rcx + r8*4 + 0x170], eax
cmp r9d, 1
jne 0x14007d77f
call fcn.14005f900
mov r10, qword [rbp - 0x20]
mov rax, qword [r10]
xor r9d, r9d
mov r8d, dword [r10 + 0x38]
mov rcx, rbx
mov edx, dword [rbp + 0x140]
mov qword [rsp + 0x20], rax
call fcn.140058770
mov r8, qword [rbp - 0x20]
test byte [r8 + 0x46], 0x20
je 0x14007d7ce
mov rcx, qword [r8 + 0x10]
mov qword [rsp + 0x50], rcx
test rcx, rcx
je 0x14007d7d1
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, 2
je 0x14007d7c7
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14007d7b5
mov qword [rsp + 0x50], rcx
jmp 0x14007d7d1
mov rcx, rsi
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x14007d813
nop word [rax + rax]
test byte [rax + 0x64], 4
jne 0x14007d805
movzx edx, word [rax + 0x5c]
cmp dx, word [r8 + 0x44]
jge 0x14007d805
cmp qword [rax + 0x48], rsi
jne 0x14007d805
test rcx, rcx
je 0x14007d802
cmp dx, word [rcx + 0x5c]
jge 0x14007d805
mov rcx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14007d7e0
mov qword [rsp + 0x50], rcx
test rcx, rcx
je 0x14007d82d
mov eax, dword [rcx + 0x58]
mov rdx, rcx
mov rcx, rbx
mov dword [rbp - 0x78], eax
call fcn.1400603b0
mov qword [rbp - 0x30], rax
mov eax, dword [rbp + 0x140]
mov edx, 0x36
mov r9d, dword [rbp - 0x78]
mov rcx, rdi
mov r8d, dword [rbp + 0x158]
mov dword [rsp + 0x20], eax
call fcn.140037d60
mov r8, qword [rdi + 8]
mov rcx, qword [rdi]
test r8, r8
je 0x14007d899
cmp byte [rcx + 0x51], sil
jne 0x14007d899
test eax, eax
jns 0x14007d86a
mov eax, dword [rdi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.1400384b0
mov qword [rdi + 0x10], rsi
mov dword [rdi + 0x10], 1
mov byte [rdi + 1], 0xf2
mov rdi, qword [rsp + 0x60]
jmp 0x14007d8a7
mov edx, 0xfffffff2
lea r8d, [rdx + 0xf]
call fcn.1400384b0
mov rax, qword [rbp - 0x30]
test rax, rax
je 0x14007d900
mov r8, qword [rdi + 8]
mov rcx, qword [rdi]
test r8, r8
je 0x14007d8f3
cmp byte [rcx + 0x51], sil
jne 0x14007d8f3
mov eax, dword [rdi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.1400384b0
mov rax, qword [rbp - 0x30]
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xfa
mov rdi, qword [rsp + 0x60]
jmp 0x14007d900
mov r8, rax
mov edx, 0xfffffffa
call fcn.1400384b0
mov rax, qword [rbp + 0x80]
mov edx, 0x32
mov r8d, dword [rbp + 0x158]
mov rcx, rdi
mov dword [rsp + 0x20], esi
mov r9d, dword [rax + 0x10]
call fcn.140037d60
mov r8d, dword [rbp + 0x158]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x3d]
call fcn.140037d60
mov r8, qword [rsp + 0x50]
mov rcx, rbx
mov rdx, qword [rbp - 0x20]
call fcn.14007bbc0
jmp 0x14007db14
mov qword [rsp + 0x50], rsi
mov byte [rbp + 0x140], sil
cmp qword [rdx + 0x40], rsi
jne 0x14007da71
mov edx, esi
mov rax, rsi
mov dword [rbp + 0x158], edx
mov qword [rsp + 0x50], rax
cmp r8d, 1
jne 0x14007da20
mov rax, qword [rbp + 0x80]
mov r8, qword [rax]
mov qword [rbp + 0xc8], r8
mov rax, qword [r8 + 0x20]
mov qword [rbp + 0x140], rax
test rax, rax
je 0x14007da1d
cmp dword [rax], 1
jne 0x14007da1d
mov rax, qword [rax + 8]
mov rcx, qword [rax]
cmp byte [rcx], 0x9c
jne 0x14007da1d
mov rcx, qword [r8 + 8]
lea rdx, [0x1400fbdec]
call fcn.14001a7a0
test eax, eax
jne 0x14007d9e3
mov rax, qword [rbp + 0x140]
mov ecx, 1
mov dword [rbp + 0x158], ecx
mov byte [rbp + 0x140], cl
jmp 0x14007da2a
mov rcx, qword [rbp + 0xc8]
lea rdx, [0x1400fbdf0]
mov rcx, qword [rcx + 8]
call fcn.14001a7a0
test eax, eax
jne 0x14007da17
mov rax, qword [rbp + 0x140]
mov edx, 2
mov dword [rbp + 0x158], edx
mov qword [rsp + 0x50], rax
jmp 0x14007da20
mov edx, dword [rbp + 0x158]
mov rax, rsi
mov byte [rbp + 0x140], dl
test dl, dl
je 0x14007da71
mov rcx, qword [rsp + 0x70]
xor r8d, r8d
mov rdx, rax
call fcn.14004eea0
mov qword [rsp + 0x50], rax
mov rdx, rax
mov qword [rbp - 0x28], rax
test rax, rax
je 0x14007da71
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x51], sil
jne 0x14007da71
mov rax, qword [rdx + 8]
cmp byte [rbp + 0x158], 1
setne cl
mov byte [rax + 0x18], cl
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov byte [rcx], 0x9a
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14007b580
movzx eax, byte [rbp + 0x140]
mov rcx, rbx
mov r9, qword [rsp + 0x50]
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x80]
mov dword [rsp + 0x30], esi
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], rsi
call fcn.14008e4b0
mov qword [rbp + 0x140], rax
test rax, rax
jne 0x14007dac9
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x28]
mov rcx, rdi
call fcn.14004f8a0
jmp 0x14007dcf8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14007b720
mov rax, qword [rbp + 0x140]
cmp byte [rax + 0x34], sil
jle 0x14007db00
mov r9d, dword [rax + 0x44]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r8 + 0xe]
call fcn.140037d60
mov rax, qword [rbp + 0x140]
mov rcx, rax
call fcn.14008eee0
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14007b680
mov r8d, dword [rbp - 0x68]
mov r9d, sendto
mov rdx, qword [rbp + 0xb8]
mov rcx, rbx
mov qword [rbp + 0x98], rsi
call fcn.140053640
mov eax, dword [rbp - 0x68]
or r9d, 0xffffffff
mov dword [rsp + 0x40], eax
mov rcx, rbx
mov dword [rsp + 0x38], eax
mov rax, qword [rbp + 0x150]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x148]
mov qword [rsp + 0x28], rsi
mov rdx, rax
mov qword [rsp + 0x20], rsi
mov r8, qword [rax]
call fcn.140074b00
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rsp + 0x70]
call fcn.14004f8a0
mov rdx, qword [rdi + 0x30]
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x14007db9b
mov eax, dword [rbp - 0x68]
not eax
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rdi + 0x3c]
dec eax
mov dword [rdx + 0x64], eax
cmp byte [rbp - 0x14], 3
jne 0x14007dbff
cmp byte [rbx + 0x1ee], 2
jne 0x14007dbff
mov rcx, qword [rbx]
lea r8, str.DISTINCT
mov rsi, qword [rbx + 0x10]
lea rdx, str.USE_TEMP_B_TREE_FOR__s
call fcn.140019660
mov r8d, dword [rbx + 0x1fc]
xor r9d, r9d
mov edx, 0xa0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov rdi, rax
call fcn.140037d60
or r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.1400387d0
cmp qword [rbp + 0x98], 0
je 0x14007dc9e
cmp byte [rbx + 0x1ee], 2
jne 0x14007dc75
cmp dword [rbp + 0xa0], 0
lea rax, str.RIGHT_PART_OF_ORDER_BY
mov rcx, qword [rbx]
lea r8, str.ORDER_BY
mov rsi, qword [rbx + 0x10]
lea rdx, str.USE_TEMP_B_TREE_FOR__s
cmovg r8, rax
call fcn.140019660
mov r8d, dword [rbx + 0x1fc]
xor r9d, r9d
mov edx, 0xa0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov rdi, rax
call fcn.140037d60
or r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.1400387d0
mov rax, qword [rbp + 0x150]
lea r8, [rbp + 0x98]
mov rdx, qword [rbp + 0x148]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x38]
mov r9d, dword [rax]
call fcn.1400759c0
mov rdx, qword [rsp + 0x60]
mov r9, qword [rdx + 0x30]
mov r8, qword [r9 + 0x80]
test r8, r8
je 0x14007dcc7
or rax, 0xffffffffffffffff
sub eax, dword [rbp + 0xc0]
movsxd rcx, eax
mov eax, dword [rdx + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rdx + 0x3c]
mov rdi, qword [rsp + 0x70]
dec eax
mov dword [r9 + 0x64], eax
mov eax, 0
cmp dword [rbx + 0x4c], 0
setg al
mov dword [rbp + 0xd0], eax
jmp 0x14007dcf8
mov rdi, rax
jmp 0x14007dcfc
mov rdi, qword [rsp + 0x70]
jmp 0x14007dcfc
mov rdi, rax
mov r9, qword [rbp - 0x80]
mov rsi, qword [rbp + 0xd0]
mov ecx, dword [rbp + 0x90]
mov dword [rbx + 0x1fc], ecx
test esi, esi
jne 0x14007dd2e
mov rax, qword [rbp + 0x150]
cmp byte [rax], 9
jne 0x14007dd2e
mov r8, qword [rbp - 0x38]
mov rdx, r9
mov rcx, rbx
call fcn.1400764b0
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x14007dd7e
cmp qword [rdi + 0x328], 0
je 0x14007dd4e
mov rdx, rcx
mov rcx, rdi
call fcn.140017620
jmp 0x14007dd7e
cmp rcx, qword [rdi + 0x170]
jb 0x14007dd79
cmp rcx, qword [rdi + 0x178]
jae 0x14007dd79
mov rax, qword [rdi + 0x168]
mov qword [rcx], rax
dec dword [rdi + 0x154]
mov qword [rdi + 0x168], rcx
jmp 0x14007dd7e
call fcn.1400175b0
mov rdx, qword [rbp + 0x80]
test rdx, rdx
je 0x14007ddf4
cmp qword [rdi + 0x328], 0
je 0x14007ddaa
mov rcx, rdi
call fcn.140017620
mov eax, esi
add rsp, 0x218
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rbp + 0x80]
cmp rdx, qword [rdi + 0x170]
jb 0x14007dde8
cmp rdx, qword [rdi + 0x178]
jae 0x14007dde8
mov rax, qword [rdi + 0x168]
mov qword [rdx], rax
mov eax, esi
dec dword [rdi + 0x154]
mov qword [rdi + 0x168], rdx
add rsp, 0x218
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, qword [rbp + 0x80]
call fcn.1400175b0
mov eax, esi
add rsp, 0x218
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, ecx
add rsp, 0x218
pop rdi
pop rsi
pop rbx
pop rbp
ret