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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x98]
sub rsp, 0x198
mov r12, qword [rcx + 0x10]
xor r15d, r15d
mov rsi, qword [rcx]
mov r13d, 1
mov qword [rbp - 0x48], r15
mov rbx, rdx
mov qword [rsp + 0x58], rsi
mov r14, rcx
mov qword [rbp - 0x50], r12
mov edi, r13d
test r12, r12
jne 0x1401d1864
cmp qword [rcx + 0xa0], r15
jne 0x1401d1858
test byte [rsi + 0x5c], 8
jne 0x1401d1858
mov byte [rcx + 0x23], dil
call fcn.1401dad30
mov r12, rax
mov qword [rbp - 0x50], rax
test rbx, rbx
je 0x1401d4081
cmp byte [rsi + 0x61], r15b
jne 0x1401d4081
cmp dword [r14 + 0x30], r15d
jne 0x1401d4081
xor r9d, r9d
mov qword [rsp + 0x20], r15
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x15]
call fcn.1401a8470
test eax, eax
jne 0x1401d4081
mov r13, qword [rbp + 0xf0]
cmp byte [r13], 8
ja 0x1401d18ce
mov rdx, qword [rbx + 0x48]
test rdx, rdx
je 0x1401d18bf
mov rcx, rsi
call fcn.14018bd10
and dword [rbx + 4], 0xfffffffe
or dword [rbx + 4], 0x400000
mov qword [rbx + 0x48], r15
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.1401d4870
lea r8, [0x1402b2790]
cmp dword [r14 + 0x30], r15d
jne 0x1401d403e
cmp byte [rsi + 0x61], r15b
jne 0x1401d403e
cmp byte [r13], 9
jne 0x1401d1909
mov rdx, rbx
mov rcx, r14
call fcn.14018ff10
mov rdx, rbx
mov rcx, r14
call fcn.1401f10e0
mov dword [rsp + 0x50], eax
mov edi, eax
test eax, eax
jne 0x1401d4037
mov rax, qword [rbx + 0x48]
xorps xmm0, xmm0
mov r9d, dword [rbx + 4]
xorps xmm1, xmm1
mov rdx, qword [rbx + 0x28]
mov edi, r15d
shr r9d, 3
and r9d, 1
mov qword [rsp + 0x78], rax
mov qword [rbp + 0x18], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x40], r9d
mov qword [rbp + 0x40], r15
movdqu xmmword [rbp + 0x20], xmm0
movdqu xmmword [rbp + 0x30], xmm1
test rax, rax
jne 0x1401d1aee
mov rax, r15
mov r14, r15
cmp edi, dword [rdx]
jge 0x1401d1ae2
imul rbx, r14, 0x70
add rbx, rdx
test byte [rbx + 0x44], 8
mov rsi, qword [rbx + 0x30]
mov r13, qword [rbx + 0x28]
je 0x1401d19e4
mov rax, qword [rbp + 0xe8]
mov edx, dword [rbx + 0x4c]
mov rcx, qword [rax + 0x30]
call fcn.1401b93d0
test eax, eax
je 0x1401d19da
mov rcx, qword [rsp + 0x58]
mov eax, 0x2000
test word [rcx + 0x5c], ax
jne 0x1401d19da
and byte [rbx + 0x44], 0xd7
mov edx, dword [rbx + 0x4c]
mov rbx, qword [rbp + 0xe8]
mov rcx, qword [rbx + 0x30]
call fcn.1401f47a0
mov rdx, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x40]
jmp 0x1401d19eb
mov r9d, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rbp + 0xe8]
test rsi, rsi
je 0x1401d1a9b
mov rax, qword [rsi + 0x20]
movsx r8d, word [r13 + 0x46]
mov ecx, dword [rax]
cmp r8d, ecx
jne 0x1401d1abf
test byte [rsi + 4], 8
jne 0x1401d1a9b
cmp qword [rsi + 0x48], r15
je 0x1401d1a33
test edi, edi
jne 0x1401d1a33
test dword [rbx + 4], 0x40000
je 0x1401d1a33
cmp dword [rdx], 1
je 0x1401d1a9b
test byte [rdx + 0xb4], 0xa
jne 0x1401d1a9b
mov rcx, qword [rbp + 0xe0]
mov r8d, edi
mov rdx, rbx
call fcn.14018ee60
test eax, eax
je 0x1401d1a66
mov r14, qword [rbp + 0xe0]
cmp dword [r14 + 0x30], r15d
jne 0x1401d4033
mov edi, 0xffffffff
mov r14, 0xffffffffffffffff
mov rsi, qword [rsp + 0x58]
mov rdx, qword [rbx + 0x28]
mov qword [rsp + 0x68], rdx
cmp byte [rsi + 0x61], r15b
jne 0x1401d402c
mov r13, qword [rbp + 0xf0]
cmp byte [r13], 8
jbe 0x1401d1aa7
mov rcx, qword [rbx + 0x48]
mov qword [rsp + 0x78], rcx
mov qword [rbp + 0x18], rcx
jmp 0x1401d1aa7
mov r13, qword [rbp + 0xf0]
mov rsi, qword [rsp + 0x58]
mov rax, qword [rbx + 0x50]
inc edi
inc r14
test rax, rax
jne 0x1401d1ae2
mov r9d, dword [rsp + 0x40]
jmp 0x1401d1973
mov r14, qword [rbp + 0xe0]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov r9, qword [r13]
mov dword [rsp + 0x20], ecx
mov rcx, r14
call fcn.1401b46e0
jmp 0x1401d4033
mov r14, qword [rbp + 0xe0]
test rax, rax
je 0x1401d1b15
mov r8, r13
mov rdx, rbx
mov rcx, r14
call fcn.140196710
mov r10d, eax
cmp qword [rbx + 0x58], r15
jne 0x1401d1b0d
mov rcx, r14
call fcn.1401e3600
mov eax, r10d
jmp 0x1401d4084
mov eax, dword [rdx]
cmp eax, 1
jle 0x1401d1caf
cmp word [rsi + 0x5c], r15w
jl 0x1401d1caf
mov qword [rbp - 0x70], r14
lea r13, [0x14019da10]
lea rdi, [0x1401d4990]
nop dword [rax]
mov rbx, qword [rbx + 0x30]
mov rcx, r15
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], rcx
test rbx, rbx
je 0x1401d1ca8
test byte [rbx + 4], 1
jne 0x1401d1ca8
movzx eax, byte [rbx]
cmp al, 0x2c
jne 0x1401d1b89
mov rdx, qword [rbx + 0x18]
lea rcx, [rbp - 0x70]
call fcn.14018ccf0
mov rdx, qword [rbx + 0x10]
lea rcx, [rbp - 0x70]
call fcn.14018ccf0
mov rcx, qword [rbp - 0x60]
jmp 0x1401d1bee
cmp al, 0x35
jne 0x1401d1ca8
mov rsi, qword [rbx + 0x18]
mov rdi, qword [rbx + 0x10]
cmp byte [rsi], 0xa4
jne 0x1401d1bc0
mov rcx, rdi
call fcn.1401b94a0
test eax, eax
je 0x1401d1bbc
mov r9, rbx
lea rcx, [rbp - 0x70]
mov r8, rdi
mov rdx, rsi
call fcn.140185890
mov rcx, qword [rbp - 0x60]
cmp byte [rdi], 0xa4
jne 0x1401d1be7
mov rcx, rsi
call fcn.1401b94a0
test eax, eax
je 0x1401d1be3
mov r9, rbx
lea rcx, [rbp - 0x70]
mov r8, rsi
mov rdx, rdi
call fcn.140185890
mov rcx, qword [rbp - 0x60]
lea rdi, [0x1401d4990]
mov rbx, qword [rbp + 0xe8]
cmp dword [rbp - 0x68], r15d
je 0x1401d1c9e
mov rdx, qword [rbx + 0x30]
lea rax, [rbp - 0x70]
mov qword [rbp + 8], r15
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], rdi
mov qword [rbp], r15
mov qword [rbp + 0x10], rax
test rdx, rdx
je 0x1401d1c31
lea rcx, [rbp - 0x18]
call fcn.1401fc7d0
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x70]
mov r8, qword [rax]
test rcx, rcx
je 0x1401d1c9e
test r8, r8
je 0x1401d1c99
cmp qword [r8 + 0x2d8], r15
je 0x1401d1c58
mov rdx, rcx
mov rcx, r8
call fcn.140195eb0
jmp 0x1401d1c9e
cmp rcx, qword [r8 + 0x1c8]
jae 0x1401d1c99
cmp rcx, qword [r8 + 0x1b8]
jb 0x1401d1c7d
mov rax, qword [r8 + 0x1b0]
mov qword [rcx], rax
mov qword [r8 + 0x1b0], rcx
jmp 0x1401d1c9e
cmp rcx, qword [r8 + 0x1c0]
jb 0x1401d1c99
mov rax, qword [r8 + 0x1a0]
mov qword [rcx], rax
mov qword [r8 + 0x1a0], rcx
jmp 0x1401d1c9e
call fcn.14016c150
cmp dword [rbp - 0x64], r15d
jne 0x1401d1b40
mov rdx, qword [rsp + 0x68]
mov eax, dword [rdx]
lea r9, [0x140257edf]
mov ecx, r15d
mov dword [rbp + 0xf8], ecx
test eax, eax
jle 0x1401d2084
mov rdi, r15
mov qword [rbp - 0x80], r15
nop
imul rax, rdi, 0x70
lea rsi, [rdx + 8]
add rsi, rax
cmp qword [rsi + 0x58], r15
jne 0x1401d1d0b
mov r8, qword [rsi + 0x10]
test r8, r8
je 0x1401d1d0b
mov rax, qword [rsi + 8]
mov edx, 0x14
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.1401a8470
mov ecx, dword [rbp + 0xf8]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rsi + 0x28]
mov qword [rbp - 0x40], rbx
test rbx, rbx
je 0x1401d2066
mov r13, qword [rbp + 0xe8]
lea rdx, [rsp + 0x44]
mov rcx, r13
mov dword [rsp + 0x44], r15d
call fcn.140192c80
mov eax, dword [rsp + 0x44]
add dword [r14 + 0x124], eax
mov eax, 0x1000
mov rcx, qword [rsp + 0x58]
test word [rcx + 0x5c], ax
jne 0x1401d1d71
movzx eax, byte [rsi + 0x3c]
mov rdx, rbx
mov r9d, dword [rsi + 0x44]
mov rcx, r14
mov r8, qword [r13 + 0x30]
shr eax, 5
and eax, 1
mov dword [rsp + 0x20], eax
call fcn.14019de30
mov rax, qword [r14 + 0x160]
mov rbx, qword [rsp + 0x68]
mov qword [rbp - 0x20], rax
mov rax, qword [rsi + 0x10]
mov qword [r14 + 0x160], rax
test rdi, rdi
jne 0x1401d1e44
cmp dword [rbx], 1
je 0x1401d1da7
test byte [rbx + 0xb4], 0xa
je 0x1401d1e44
mov edi, dword [r12 + 0x90]
xor r9d, r9d
mov r8d, dword [r14 + 0x38]
mov rcx, r12
inc r8d
mov dword [r14 + 0x38], r8d
lea ebx, [rdi + 1]
mov dword [rsi + 0x34], r8d
lea edx, [r9 + 0xd]
mov dword [rsp + 0x20], ebx
call fcn.1401da530
mov eax, dword [rsi + 0x34]
lea r8, str.CO_ROUTINE__u
mov dword [rsi + 0x30], ebx
mov edx, 1
mov rbx, qword [rbp - 0x40]
mov rcx, r14
mov byte [rbp - 0x70], 0xd
mov dword [rbp - 0x6c], eax
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x68], r15
mov r9d, dword [rbx + 0x10]
call fcn.1401e34c0
lea r8, [rbp - 0x70]
mov rdx, rbx
mov rcx, r14
call fcn.1401d17f0
movzx eax, word [rbx + 2]
mov rcx, qword [rsi + 0x20]
mov word [rcx + 0x4a], ax
mov rcx, r12
mov eax, dword [rbp - 0x68]
mov edx, dword [rsi + 0x34]
or dword [rsi + 0x40], 0x10
mov dword [rsi + 0x38], eax
call fcn.1401db4f0
mov edx, edi
mov rcx, r12
call fcn.1401e4240
jmp 0x1401d2018
mov r9d, dword [r14 + 0x38]
xor r8d, r8d
inc r9d
mov dword [rsp + 0x44], r15d
mov dword [r14 + 0x38], r9d
mov rcx, r12
mov dword [rsi + 0x34], r9d
lea edx, [r8 + 0x45]
call fcn.1401da4c0
test byte [rsi + 0x40], 8
mov dword [rsp + 0x60], eax
lea ecx, [rax + 1]
mov dword [rsi + 0x30], ecx
jne 0x1401d1e88
mov edx, 0x11
mov rcx, r12
call fcn.1401da3e0
mov dword [rsp + 0x44], eax
add rbx, 8
cmp rbx, rsi
jae 0x1401d1f51
nop word [rax + rax]
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1401d1f44
test byte [rbx + 0x40], 0x10
jne 0x1401d1f44
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x1401d1f44
mov rax, qword [rbx + 0x20]
mov r10, qword [rax + 0x70]
mov rax, qword [rsi + 0x20]
cmp r10, qword [rax + 0x70]
jne 0x1401d1f44
mov r9, qword [rsi + 0x10]
test r9, r9
je 0x1401d1f44
sub r9, rdx
movzx eax, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp eax, r8d
jne 0x1401d1f80
test eax, eax
jne 0x1401d1f95
test r10, r10
jne 0x1401d1f0c
mov rcx, qword [rsi + 0x28]
mov eax, dword [rdi + 0x10]
cmp dword [rcx + 0x10], eax
jne 0x1401d1f44
mov rdx, qword [rsi + 0x28]
mov r9d, 0xffffffff
mov r8, qword [rdi + 0x30]
xor ecx, ecx
mov rdx, qword [rdx + 0x30]
call fcn.1401b8380
test eax, eax
jne 0x1401d1f44
mov rdx, qword [rsi + 0x28]
lea r9d, [rax - 1]
mov r8, qword [rdi + 0x40]
xor ecx, ecx
mov rdx, qword [rdx + 0x40]
call fcn.1401b8380
test eax, eax
je 0x1401d1f54
add rbx, 0x70
cmp rbx, rsi
jb 0x1401d1ea0
mov rbx, r15
test rbx, rbx
je 0x1401d1f9d
mov r9d, dword [rbx + 0x44]
mov edx, 0x62
mov r8d, dword [rsi + 0x44]
mov rcx, r12
call fcn.1401da4c0
mov rax, qword [rbx + 0x28]
mov rbx, qword [rbp - 0x40]
movzx ecx, word [rax + 2]
mov word [rbx + 2], cx
jmp 0x1401d1fde
lea r11, [0x14024ccc0]
movzx ecx, byte [rax + r11]
movzx eax, byte [r8 + r11]
cmp ecx, eax
jne 0x1401d1f44
inc rdx
jmp 0x1401d1ee2
mov eax, dword [rsi + 0x44]
lea r8, str.MATERIALIZE__u
mov rbx, qword [rbp - 0x40]
mov edx, 1
mov byte [rbp - 0x70], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, r14
mov dword [rbp - 0x6c], eax
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x68], r15
mov r9d, dword [rbx + 0x10]
call fcn.1401e34c0
lea r8, [rbp - 0x70]
mov rdx, rbx
mov rcx, r14
call fcn.1401d17f0
movzx ecx, word [rbx + 2]
mov rax, qword [rsi + 0x20]
mov word [rax + 0x4a], cx
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x1401d1ff8
mov edx, eax
mov rcx, r12
call fcn.1401e4240
mov r8d, dword [rsi + 0x34]
mov edx, 0x41
mov rcx, r12
call fcn.1401da450
mov edx, dword [rsp + 0x60]
mov r8d, eax
mov rcx, r12
call fcn.1401da900
mov rax, qword [rsp + 0x58]
mov byte [r14 + 0x1f], r15b
mov dword [r14 + 0x28], r15d
cmp byte [rax + 0x61], r15b
jne 0x1401d4033
lea rdx, [rsp + 0x44]
mov dword [rsp + 0x44], r15d
mov rcx, r13
call fcn.140192c80
mov edx, dword [rsp + 0x44]
mov rax, qword [rbp - 0x20]
sub dword [r14 + 0x124], edx
mov rdi, qword [rbp - 0x80]
mov ecx, dword [rbp + 0xf8]
mov rdx, qword [rsp + 0x68]
mov qword [r14 + 0x160], rax
inc ecx
lea r9, [0x140257edf]
inc rdi
mov dword [rbp + 0xf8], ecx
mov qword [rbp - 0x80], rdi
cmp ecx, dword [rdx]
jl 0x1401d1cd0
mov rax, qword [rbp + 0xe8]
mov rbx, qword [rax + 0x30]
mov r13, qword [rax + 0x20]
mov rdi, qword [rax + 0x38]
mov qword [rbp - 0x80], rbx
mov rbx, rax
mov rax, qword [rax + 0x40]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x20], r13
movzx esi, byte [rbx + 4]
mov eax, dword [rbx + 4]
and sil, 1
and al, 9
mov qword [rbp - 0x30], rdi
mov byte [rbp + 0xf8], sil
mov byte [rbp - 0x70], sil
cmp al, 1
jne 0x1401d210a
mov rcx, qword [rsp + 0x78]
mov r8d, 0xffffffff
mov rdx, r13
call fcn.1401b98e0
test eax, eax
jne 0x1401d210a
cmp qword [rbx + 0x70], r15
jne 0x1401d210a
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
and dword [rbx + 4], 0xfffffffe
mov rdx, r13
call fcn.1401b9980
or dword [rbx + 4], 8
mov rdi, rax
mov qword [rbp - 0x30], rax
mov qword [rbx + 0x38], rax
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x1401d2167
mov r9d, dword [r13]
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.1401c48a0
mov r8d, dword [r14 + 0x34]
mov dword [rsp + 0x30], 0xfffffff7
mov qword [rsp + 0x28], rax
mov dword [rbp + 0x24], r8d
lea ecx, [r8 + 1]
mov dword [rsp + 0x20], r15d
mov dword [r14 + 0x34], ecx
mov rcx, r12
mov edx, dword [rbx]
mov r9d, dword [r13]
inc edx
add r9d, edx
mov edx, 0x64
call fcn.1401da5a0
mov ebx, eax
mov dword [rbp + 0x30], eax
jmp 0x1401d216f
mov ebx, 0xffffffff
mov dword [rbp + 0x30], ebx
mov rax, qword [rbp + 0xf0]
cmp byte [rax], 0xc
jne 0x1401d2190
mov r9d, dword [r13]
mov edx, 0x64
mov r8d, dword [rax + 4]
mov rcx, r12
call fcn.1401da4c0
dec dword [r14 + 0x44]
mov eax, 0x4000
mov r13, qword [rbp + 0xe8]
mov r8d, dword [r14 + 0x44]
mov dword [rbp - 0x34], r8d
test dword [r13 + 4], eax
jne 0x1401d21b8
mov eax, 0x140
mov word [r13 + 2], ax
mov rdx, r13
mov rcx, r14
call fcn.1401854f0
cmp dword [r13 + 8], r15d
jne 0x1401d21fa
test ebx, ebx
js 0x1401d21fa
mov rax, qword [r12]
cmp byte [rax + 0x61], r15b
je 0x1401d21e0
lea rax, [0x1402b2790]
jmp 0x1401d21f3
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
or byte [rbp + 0x3c], 1
mov byte [rax], 0x6f
test byte [r13 + 4], 1
je 0x1401d226e
mov ebx, dword [r14 + 0x34]
xor r9d, r9d
xor r8d, r8d
mov dword [rbp - 0x6c], ebx
mov rcx, r14
lea eax, [rbx + 1]
mov dword [r14 + 0x34], eax
mov rdx, qword [r13 + 0x20]
call fcn.1401c48a0
xor r9d, r9d
mov dword [rsp + 0x30], 0xfffffff7
mov qword [rsp + 0x28], rax
mov r8d, ebx
mov rcx, r12
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x64]
call fcn.1401da5a0
mov dword [rbp - 0x68], eax
movsxd rax, dword [r12 + 0x90]
test eax, eax
jle 0x1401d226a
lea rcx, [rax + rax*2]
mov edx, 8
mov rax, qword [r12 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov al, 3
jmp 0x1401d2270
xor al, al
mov byte [rbp - 0x6f], al
mov dword [rbp - 0x74], eax
cmp dword [rsp + 0x40], r15d
jne 0x1401d24a0
test rdi, rdi
jne 0x1401d24a0
mov rdi, qword [r13 + 0x70]
movzx eax, sil
neg al
mov ecx, 0x4000
movzx eax, word [r13 + 4]
sbb bx, bx
and ax, cx
and bx, 0x100
or bx, ax
test rdi, rdi
je 0x1401d22bc
mov rdx, r13
mov rcx, r14
call fcn.1401eeb20
movsx eax, word [r13 + 2]
mov rcx, r14
mov r8, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x30], eax
mov rax, qword [r13 + 0x20]
mov word [rsp + 0x28], bx
mov rbx, qword [rsp + 0x78]
mov r9, rbx
mov qword [rsp + 0x20], rax
call fcn.1401e9ea0
mov r13, rax
test rax, rax
je 0x1401d4033
mov r10, qword [rbp + 0xe8]
movzx eax, word [rax + 0x48]
cmp ax, word [r10 + 2]
jge 0x1401d230f
mov word [r10 + 2], ax
test sil, sil
je 0x1401d232a
movzx ecx, byte [r13 + 0x43]
mov eax, dword [rbp - 0x74]
test cl, cl
movzx eax, al
cmovne eax, ecx
mov dword [rbp - 0x74], eax
mov byte [rbp - 0x6f], al
test rbx, rbx
je 0x1401d2366
test byte [r13 + 0x44], 4
movsx edx, byte [r13 + 0x41]
mov dword [rbp + 0x20], edx
jne 0x1401d2344
mov eax, dword [r13 + 0x30]
jmp 0x1401d2359
movzx eax, byte [r13 + 0x40]
lea rcx, [rax + rax*2]
shl rcx, 5
mov eax, dword [rcx + r13 + 0x348]
cmp edx, dword [rbx]
mov dword [rbp + 0x38], eax
cmove rbx, r15
mov qword [rbp + 0x18], rbx
mov eax, dword [rbp + 0x30]
test eax, eax
js 0x1401d2383
test rbx, rbx
jne 0x1401d2383
mov edx, eax
mov rcx, r12
call fcn.1401daa00
mov r10, qword [rbp + 0xe8]
mov rdx, r10
test rdi, rdi
je 0x1401d2459
mov esi, dword [r14 + 0x44]
mov r8, r13
mov rax, qword [rbp + 0xe0]
mov rcx, rax
lea ebx, [rsi - 1]
sub esi, 2
inc dword [rax + 0x38]
mov edi, dword [rax + 0x38]
mov r9d, edi
mov dword [rsp + 0x20], ebx
lea r14d, [rsi - 1]
mov dword [rax + 0x44], r14d
call fcn.1401ef180
xor r8d, r8d
mov r9d, r14d
mov rcx, r12
lea edx, [r8 + 0xb]
call fcn.1401da4c0
mov edx, ebx
mov rcx, r12
call fcn.1401e7090
mov rax, qword [rbp + 0xf0]
lea r9, [rbp + 0x18]
mov rbx, qword [rbp + 0xe8]
mov r8d, 0xffffffff
mov rcx, qword [rbp + 0xe0]
mov rdx, rbx
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x38], r15d
call fcn.1401a4180
mov edx, esi
mov rcx, r12
call fcn.1401e7090
mov r8d, edi
mov edx, 0x41
mov rcx, r12
call fcn.1401da450
mov edx, r14d
mov rcx, r12
call fcn.1401e7090
mov r14, qword [rbp + 0xe0]
mov rsi, r15
mov rdi, qword [rbp + 0xf0]
jmp 0x1401d3f49
mov eax, dword [r13 + 0x34]
lea r9, [rbp + 0x18]
mov rdi, qword [rbp + 0xf0]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], eax
mov rcx, r14
mov eax, dword [r13 + 0x30]
mov dword [rsp + 0x30], eax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.1401a4180
mov rcx, r13
call fcn.1401ed470
mov rsi, r15
jmp 0x1401d3f42
mov dword [rsp + 0x54], r15d
mov dword [rbp - 0x78], r15d
mov dword [rbp - 0x38], r15d
test rdi, rdi
je 0x1401d2572
mov rcx, qword [r13 + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x1401d24de
add rcx, 0x22
nop dword [rax]
nop dword [rax + rax]
dec eax
mov word [rcx], r15w
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x1401d24d0
mov eax, dword [rdi]
test eax, eax
jle 0x1401d24fe
lea rcx, [rdi + 0x22]
nop dword [rax + rax]
dec eax
mov word [rcx], r15w
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x1401d24f0
cmp word [r13 + 2], 0x42
jle 0x1401d2510
mov eax, 0x42
mov word [r13 + 2], ax
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x1401d257c
mov eax, dword [rdi]
cmp eax, dword [rbx]
jne 0x1401d257c
mov edx, r15d
test eax, eax
jle 0x1401d2554
mov r8, rbx
lea rcx, [rdi + 0x18]
sub r8, rdi
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 0x20]
and al, 1
inc edx
mov byte [rcx - 0x20], al
cmp edx, dword [rdi]
jl 0x1401d2540
mov r8d, 0xffffffff
mov rdx, rbx
mov rcx, rdi
call fcn.1401b98e0
test eax, eax
jne 0x1401d257c
mov dword [rbp - 0x38], 1
jmp 0x1401d257c
mov rbx, qword [rsp + 0x78]
mov word [r13 + 2], r15w
dec dword [r14 + 0x44]
mov edx, 0x48
mov eax, dword [r14 + 0x44]
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov dword [rsp + 0x4c], eax
call fcn.1401b20a0
mov qword [rbp - 0x28], rax
mov r13, rax
test rax, rax
je 0x1401d4033
xor eax, eax
xorps xmm0, xmm0
mov qword [r13], rax
xorps xmm1, xmm1
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rax
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov qword [r13 + 0x30], rax
mov qword [r13 + 0x38], rax
mov qword [r13 + 0x40], rax
mov rax, qword [r14 + 0xb8]
mov qword [r13 + 0x40], rax
mov rax, qword [rsp + 0x68]
mov qword [rbp + 0x58], rax
mov eax, dword [r14 + 0x38]
inc eax
mov qword [r14 + 0xb8], r13
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x60], r13
movdqu xmmword [rbp + 0x68], xmm0
movdqu xmmword [rbp + 0x78], xmm1
mov dword [r13 + 0x10], eax
test rdi, rdi
je 0x1401d2616
mov eax, dword [rdi]
jmp 0x1401d2619
mov eax, r15d
mov rdx, qword [rbp - 0x20]
lea rcx, [rbp + 0x50]
mov dword [r13 + 0xc], eax
mov qword [r13 + 0x18], rdi
call fcn.1401b4c80
mov rdx, rbx
lea rcx, [rbp + 0x50]
call fcn.1401b4c80
mov rcx, qword [rbp - 0x40]
lea r8, [0x14017b620]
lea r9, [0x1401e9e90]
lea r10, [0x1401e9e80]
test rcx, rcx
je 0x1401d26e2
test rdi, rdi
je 0x1401d26ba
mov rbx, qword [rbp + 0xe8]
lea rax, [0x140192a80]
xorps xmm0, xmm0
mov qword [rbp + 8], r15
movdqu xmmword [rbp - 8], xmm0
mov qword [rbp - 0x18], r14
mov rdx, qword [rbx + 0x40]
mov qword [rbp - 0x10], rax
mov qword [rbp + 0x10], rbx
test rdx, rdx
je 0x1401d26b2
lea rcx, [rbp - 0x18]
call fcn.1401fc7d0
mov rcx, qword [rbp - 0x40]
lea r8, [0x14017b620]
lea r9, [0x1401e9e90]
lea r10, [0x1401e9e80]
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x50]
mov qword [rbp - 0x10], r8
mov rdx, rcx
mov qword [rbp + 0x10], rax
lea rcx, [rbp - 0x18]
mov qword [rbp - 8], r9
mov qword [rbp], r10
mov dword [rbp + 8], r15d
mov qword [rbp - 0x18], r15
call fcn.1401fc7d0
mov eax, dword [r13 + 0x28]
mov dword [r13 + 0x2c], eax
mov rax, qword [rbp + 0xe8]
cmp qword [rax + 0x38], r15
jne 0x1401d27eb
cmp qword [rax + 0x40], r15
jne 0x1401d27eb
cmp dword [r13 + 0x38], 1
jne 0x1401d27eb
mov rax, qword [r13 + 0x30]
mov r9, qword [rax]
mov r11, qword [r9 + 0x20]
test r11, r11
je 0x1401d27eb
cmp dword [r11], 1
jne 0x1401d27eb
test dword [r9 + 4], 0x1000000
jne 0x1401d27eb
mov r9, qword [r9 + 8]
lea r10, [0x140251164]
mov rdx, r9
sub r10, r9
nop dword [rax]
movzx eax, byte [rdx]
movzx r8d, byte [rdx + r10]
cmp eax, r8d
jne 0x1401d2779
test eax, eax
jne 0x1401d278d
mov rcx, qword [r11 + 8]
call fcn.1401b51e0
neg eax
mov r14d, 1
sbb bl, bl
and bl, 2
jmp 0x1401d27b9
lea rbx, [0x14024ccc0]
movzx ecx, byte [rax + rbx]
movzx eax, byte [r8 + rbx]
cmp ecx, eax
jne 0x1401d2792
inc rdx
jmp 0x1401d2750
lea r8, [0x140251168]
sub r8, r9
nop dword [rax]
movzx eax, byte [r9]
movzx edx, byte [r9 + r8]
cmp eax, edx
jne 0x1401d27da
test eax, eax
jne 0x1401d27e6
mov bl, 1
mov r14d, 2
xor r8d, r8d
mov dword [rsp + 0x40], r14d
mov rdx, r11
mov rcx, rsi
call fcn.1401b9980
mov qword [rbp - 0x48], rax
test rax, rax
je 0x1401d27f4
mov byte [rax + 0x18], bl
jmp 0x1401d27f4
movzx ecx, byte [rax + rbx]
movzx eax, byte [rdx + rbx]
cmp ecx, eax
jne 0x1401d27eb
inc r9
jmp 0x1401d27a0
movzx r14d, r15w
mov dword [rsp + 0x40], r14d
mov esi, r15d
cmp dword [r13 + 0x38], r15d
jle 0x1401d28a1
mov ecx, dword [rbp + 0x78]
lea r12, [0x14017b620]
mov rdi, r15
lea r14, [0x1401e9e90]
nop word [rax + rax]
mov rax, qword [r13 + 0x30]
bts ecx, 0x11
mov rbx, qword [rdi + rax]
mov dword [rbp + 0x78], ecx
lea rcx, [rbp + 0x50]
mov rdx, qword [rbx + 0x20]
call fcn.1401b4c80
test dword [rbx + 4], 0x1000000
je 0x1401d287e
mov rax, qword [rbx + 0x40]
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r14
mov dword [rbp + 8], r15d
mov rdx, qword [rax + 0x48]
lea rax, [0x1401e9e80]
mov qword [rbp], rax
lea rax, [rbp + 0x50]
mov qword [rbp + 0x10], rax
mov qword [rbp - 0x18], r15
test rdx, rdx
je 0x1401d287e
lea rcx, [rbp - 0x18]
call fcn.1401fc7d0
mov ecx, dword [rbp + 0x78]
inc esi
btr ecx, 0x11
add rdi, 0x18
mov dword [rbp + 0x78], ecx
cmp esi, dword [r13 + 0x38]
jl 0x1401d2820
mov r12, qword [rbp - 0x50]
mov r14d, dword [rsp + 0x40]
mov rdi, qword [rbp - 0x30]
mov r9, qword [rbp + 0xe0]
mov eax, dword [r9 + 0x38]
mov dword [r13 + 0x14], eax
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x61], r15b
jne 0x1401d3ffc
test rdi, rdi
je 0x1401d392a
mov eax, dword [r9 + 0x34]
mov r14, r9
mov dword [r13 + 4], eax
xor r8d, r8d
inc dword [r9 + 0x34]
mov rdx, rdi
mov r9d, dword [r13 + 0x28]
mov rcx, r14
call fcn.1401c48a0
movsxd r9, dword [r12 + 0x90]
mov rbx, rax
mov edx, dword [r13 + 0xc]
mov r8d, dword [r13 + 4]
mov qword [rbp + 0x48], rax
mov dword [rsp + 0x60], r9d
cmp dword [r12 + 0x94], r9d
jg 0x1401d292d
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x6f
mov rcx, r12
call fcn.1401925a0
mov r9d, eax
mov dword [rsp + 0x60], eax
jmp 0x1401d295f
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [r12 + 0x90], eax
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x6f
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [r12]
mov eax, r9d
cmp byte [rcx + 0x61], r15b
je 0x1401d297b
mov r8, rbx
mov edx, 0xfffffff7
call fcn.14018f540
jmp 0x1401d29c3
test r9d, r9d
jns 0x1401d298a
mov eax, dword [r12 + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
cmp byte [rax + rcx*8 + 1], r15b
lea rdx, [rax + rcx*8]
je 0x1401d29b6
mov r9d, 0xfffffff7
mov r8, rbx
mov rcx, r12
call fcn.1401f5e90
jmp 0x1401d29c3
test rbx, rbx
je 0x1401d29c3
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf7
mov eax, dword [r14 + 0x38]
inc eax
mov dword [rbp - 0x50], eax
lea edx, [rax + 1]
mov eax, dword [r14 + 0x44]
lea ecx, [rdx + 2]
mov dword [rsp + 0x40], edx
mov dword [r14 + 0x38], ecx
lea ebx, [rcx + 1]
dec eax
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x78], eax
lea esi, [rax - 1]
mov dword [r14 + 0x44], esi
add ecx, dword [rdi]
mov dword [r14 + 0x38], ecx
mov dword [rsp + 0x44], esi
lea eax, [rcx + 1]
add ecx, dword [rdi]
mov dword [r14 + 0x38], ecx
movsxd rcx, dword [r12 + 0x90]
mov dword [rsp + 0x70], eax
cmp dword [r12 + 0x94], ecx
jg 0x1401d2a34
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov rcx, r12
lea edx, [r8 + 0x45]
call fcn.1401925a0
jmp 0x1401d2a61
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r12 + 0x90]
lea r8d, [rbx - 1]
add r8d, dword [rdi]
cmp dword [r12 + 0x94], ecx
jg 0x1401d2a93
mov dword [rsp + 0x20], r8d
mov r9d, ebx
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 0x48]
call fcn.1401925a0
jmp 0x1401d2ac0
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 0x48
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d2aee
mov r8d, dword [rsp + 0x48]
mov r9d, esi
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov dword [rsp + 0x20], r15d
mov rcx, r12
call fcn.1401925a0
jmp 0x1401d2b22
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
cmp dword [rbp - 0x38], r15d
mov eax, 0x40
mov r8, qword [rbp - 0x80]
mov ecx, 0x240
mov rdx, qword [rsp + 0x68]
cmovne ax, cx
mov dword [rsp + 0x30], r15d
mov r9, rdi
mov word [rsp + 0x28], ax
mov rcx, r14
mov qword [rsp + 0x20], r15
call fcn.1401e9ea0
mov qword [rbp - 0x80], rax
test rax, rax
je 0x1401d400d
movsx ecx, byte [rax + 0x41]
cmp ecx, dword [rdi]
jne 0x1401d2b7b
mov edi, r15d
mov dword [rbp + 0xf8], r15d
jmp 0x1401d2f1a
cmp byte [rbp + 0xf8], r15b
je 0x1401d2b98
mov rax, qword [rbp + 0xe8]
lea r9, str.DISTINCT
test byte [rax + 4], 1
je 0x1401d2b9f
lea r9, str.GROUP_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, r14
call fcn.1401e34c0
mov r14d, dword [rdi]
mov esi, r14d
mov eax, dword [r13 + 0x28]
mov edx, r14d
mov dword [rbp + 0xf8], 1
test eax, eax
jle 0x1401d2c00
mov r8, qword [r13 + 0x20]
mov r9d, eax
add r8, 0x1a
nop word [rax + rax]
movsx ecx, word [r8]
lea eax, [rsi + 1]
cmp ecx, edx
lea r8, [r8 + 0x20]
cmovl eax, esi
mov esi, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x1401d2be0
mov r10, qword [rbp + 0xe0]
cmp esi, 1
jne 0x1401d2c32
movzx eax, byte [r10 + 0x1f]
test al, al
jne 0x1401d2c1f
inc dword [r10 + 0x38]
mov r13d, dword [r10 + 0x38]
jmp 0x1401d2c5c
dec al
movzx eax, al
mov byte [r10 + 0x1f], al
mov r13d, dword [r10 + rax*4 + 0xd4]
jmp 0x1401d2c5c
mov ecx, dword [r10 + 0x28]
mov r13d, dword [r10 + 0x2c]
cmp esi, ecx
jg 0x1401d2c4e
lea eax, [rsi + r13]
sub ecx, esi
mov dword [r10 + 0x2c], eax
mov dword [r10 + 0x28], ecx
jmp 0x1401d2c5c
mov eax, dword [r10 + 0x38]
lea r13d, [rax + 1]
add eax, esi
mov dword [r10 + 0x38], eax
xor r9d, r9d
mov byte [rsp + 0x20], r15b
mov r8d, r13d
mov rdx, rdi
mov rcx, r10
call fcn.1401b5400
mov rax, qword [rbp - 0x28]
mov edi, r15d
cmp dword [rax + 0x28], r15d
jle 0x1401d2cce
mov rbx, r15
mov r15, rax
nop word [rax + rax]
mov rdx, qword [r15 + 0x20]
add rdx, rbx
movsx eax, word [rdx + 0x1a]
cmp eax, r14d
jl 0x1401d2cbf
movsx r9d, word [rdx + 0x18]
lea eax, [r14 + r13]
mov r8d, dword [rdx + 0x10]
mov rcx, r12
mov rdx, qword [rdx]
mov dword [rsp + 0x20], eax
call fcn.1401b58d0
inc r14d
inc edi
add rbx, 0x20
cmp edi, dword [r15 + 0x28]
jl 0x1401d2c90
xor r15d, r15d
mov r14, qword [rbp + 0xe0]
movzx eax, byte [r14 + 0x1f]
test al, al
jne 0x1401d2ce8
inc dword [r14 + 0x38]
mov ebx, dword [r14 + 0x38]
jmp 0x1401d2cf9
dec al
movzx eax, al
mov byte [r14 + 0x1f], al
mov ebx, dword [r14 + rax*4 + 0xd4]
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d2d24
mov r9d, esi
mov dword [rsp + 0x20], ebx
mov r8d, r13d
mov edx, 0x5b
mov rcx, r12
call fcn.1401925a0
jmp 0x1401d2d54
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x5b
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r15
mov rax, qword [rbp - 0x28]
movsxd rcx, dword [r12 + 0x90]
mov edx, dword [rax + 4]
cmp dword [r12 + 0x94], ecx
jg 0x1401d2d87
mov r8d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x83
mov r9d, ebx
mov rcx, r12
call fcn.1401925a0
jmp 0x1401d2db7
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x83
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
test ebx, ebx
je 0x1401d2dd3
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x1401d2dd3
movzx eax, al
mov dword [r14 + rax*4 + 0xd4], ebx
inc byte [r14 + 0x1f]
cmp esi, 1
jne 0x1401d2df7
test r13d, r13d
je 0x1401d2e05
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x1401d2e05
movzx eax, al
mov dword [r14 + rax*4 + 0xd4], r13d
inc byte [r14 + 0x1f]
jmp 0x1401d2e05
cmp esi, dword [r14 + 0x28]
jle 0x1401d2e05
mov dword [r14 + 0x28], esi
mov dword [r14 + 0x2c], r13d
mov rcx, qword [rbp - 0x80]
call fcn.1401ed470
mov edx, dword [r14 + 0x34]
mov r13, qword [rbp - 0x28]
mov dword [rsp + 0x54], edx
mov dword [r13 + 8], edx
inc dword [r14 + 0x34]
movzx eax, byte [r14 + 0x1f]
test al, al
jne 0x1401d2e35
inc dword [r14 + 0x38]
mov r8d, dword [r14 + 0x38]
jmp 0x1401d2e46
dec al
movzx eax, al
mov byte [r14 + 0x1f], al
mov r8d, dword [r14 + rax*4 + 0xd4]
movsxd rcx, dword [r12 + 0x90]
mov dword [rbp - 0x78], r8d
cmp dword [r12 + 0x94], ecx
jg 0x1401d2e75
mov r9d, r8d
mov dword [rsp + 0x20], esi
mov r8d, edx
mov rcx, r12
mov edx, 0x72
call fcn.1401925a0
jmp 0x1401d2ea5
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x72
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r12 + 0x90]
mov edx, dword [r13 + 4]
cmp dword [r12 + 0x94], ecx
jg 0x1401d2ed7
mov r9d, dword [rsp + 0x4c]
mov r8d, edx
mov edx, 0x23
mov dword [rsp + 0x20], r15d
mov rcx, r12
call fcn.1401925a0
jmp 0x1401d2f0b
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x4c]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x23
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov edi, dword [rbp + 0xf8]
mov rax, qword [rbp - 0x80]
mov byte [r13 + 1], 1
cmp dword [rbp - 0x38], 0
je 0x1401d2f6f
mov rcx, qword [rsp + 0x58]
test byte [rcx + 0x5c], 4
jne 0x1401d2f6f
test edi, edi
jne 0x1401d2f35
test byte [rax + 0x44], 8
je 0x1401d2f6f
mov rcx, qword [r12]
mov qword [rbp + 0x18], r15
cmp byte [rcx + 0x61], 0
jne 0x1401d2f6f
movsxd rax, dword [rbp + 0x30]
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.14018f540
mov word [rbx], 0xad
mov qword [rbx + 0x10], r15
movsxd rsi, dword [r12 + 0x90]
mov dword [rbp + 0xe0], esi
test edi, edi
je 0x1401d2faf
mov edx, dword [r13 + 4]
cmp dword [r12 + 0x94], esi
jg 0x1401d300f
mov eax, dword [rsp + 0x54]
mov r8d, edx
mov r9d, dword [rbp - 0x78]
mov edx, 0x7d
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.1401925a0
mov r10d, dword [rsp + 0x54]
mov rax, qword [rbp - 0x30]
mov ebx, r15d
mov edx, dword [rax]
test edx, edx
jle 0x1401d30b6
mov esi, dword [rbp + 0xf8]
lea rdi, [rax + 8]
nop
mov r8d, dword [rsp + 0x70]
add r8d, ebx
test esi, esi
je 0x1401d3081
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d304e
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, r10d
mov edx, 0x59
mov rcx, r12
call fcn.1401925a0
jmp 0x1401d3091
mov r8d, dword [rbp - 0x78]
lea rcx, [rsi + rsi*2]
mov r10d, dword [rsp + 0x54]
lea eax, [rsi + 1]
mov dword [r12 + 0x90], eax
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x7d
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r15
jmp 0x1401d2fb4
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x59
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r15
jmp 0x1401d3096
mov byte [r13], 1
mov rcx, r14
mov rdx, qword [rdi]
call fcn.1401b5330
mov r10d, dword [rsp + 0x54]
mov rax, qword [rbp - 0x30]
inc ebx
add rdi, 0x20
mov edx, dword [rax]
cmp ebx, edx
jl 0x1401d2fd0
mov esi, dword [rbp + 0xe0]
mov edi, dword [rbp + 0xf8]
mov r10, qword [rbp + 0x48]
test r10, r10
je 0x1401d30c4
inc dword [r10]
mov edx, dword [rax]
movsxd r8, dword [r12 + 0x90]
cmp dword [r12 + 0x94], r8d
jg 0x1401d30fd
mov r8d, dword [rsp + 0x48]
mov rcx, r12
mov r9d, dword [rsp + 0x70]
inc r8d
mov dword [rsp + 0x20], edx
mov edx, 0x56
call fcn.1401925a0
mov r10, qword [rbp + 0x48]
mov r8d, eax
jmp 0x1401d313c
mov r9d, dword [rsp + 0x48]
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
inc r9d
mov dword [r12 + 0x90], eax
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8 + 4], r9d
mov r9d, dword [rsp + 0x70]
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8], 0x56
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [r12]
cmp byte [rcx + 0x61], 0
je 0x1401d3155
mov r8, r10
mov edx, 0xfffffff7
call fcn.14018f540
jmp 0x1401d319f
test r8d, r8d
jns 0x1401d3165
mov r8d, dword [r12 + 0x90]
dec r8d
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1401d3192
mov r9d, 0xfffffff7
mov r8, r10
mov rcx, r12
call fcn.1401f5e90
jmp 0x1401d319f
test r10, r10
je 0x1401d319f
mov qword [rdx + 0x10], r10
mov byte [rdx + 1], 0xf7
movsxd rbx, dword [r12 + 0x90]
lea edx, [rbx + 1]
cmp dword [r12 + 0x94], ebx
jg 0x1401d31cc
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, r12
lea edx, [r9 + 0x10]
call fcn.1401925a0
jmp 0x1401d31f9
mov rax, qword [r12 + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [r12 + 0x90], edx
mov dword [rax + rcx*8], 0x10
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
mov r10, qword [r14 + 0x10]
mov rax, qword [rbp - 0x30]
mov r8d, dword [rsp + 0x70]
movsxd rcx, dword [r10 + 0x90]
mov edx, dword [rax]
cmp dword [r10 + 0x94], ecx
jg 0x1401d3233
mov r9d, dword [rsp + 0x48]
mov rcx, r10
mov dword [rsp + 0x20], edx
inc r9d
mov edx, 0x4c
call fcn.1401925a0
jmp 0x1401d326a
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 + 0x48]
inc r8d
mov dword [rax + rcx*8], 0x4c
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r12 + 0x90]
mov r8d, dword [rsp + 0x40]
cmp dword [r12 + 0x94], ecx
jg 0x1401d32a2
mov r9d, dword [rsp + 0x78]
inc r8d
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov dword [rsp + 0x20], r15d
mov rcx, r12
call fcn.1401925a0
mov r8d, dword [rsp + 0x40]
jmp 0x1401d32da
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
lea edx, [r8 + 1]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x78]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d3305
mov r9d, dword [rsp + 0x4c]
mov edx, 0x30
mov rcx, r12
mov dword [rsp + 0x20], r15d
call fcn.1401925a0
jmp 0x1401d333a
mov edx, dword [rsp + 0x4c]
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x30
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d336a
mov r9d, dword [rsp + 0x44]
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov r8d, dword [rsp + 0x48]
mov rcx, r12
mov dword [rsp + 0x20], r15d
call fcn.1401925a0
jmp 0x1401d33a2
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x44]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rax, qword [r12]
mov edx, dword [r12 + 0x90]
cmp byte [rax + 0x61], 0
je 0x1401d33bd
lea rax, [0x1402b2790]
jmp 0x1401d33d7
lea eax, [rdx - 1]
test ebx, ebx
cmovns eax, ebx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
mov ebx, dword [rbp - 0x50]
mov r8, r13
mov dword [rax + 8], edx
mov rcx, r14
mov edx, ebx
call fcn.1401f4850
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d3417
mov edx, 0x45
mov dword [rsp + 0x20], r15d
mov r9d, ebx
mov rcx, r12
lea r8d, [rdx - 0x44]
call fcn.1401925a0
jmp 0x1401d344b
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
test edi, edi
je 0x1401d34b1
movsxd rcx, dword [r12 + 0x90]
mov edx, dword [r13 + 4]
cmp dword [r12 + 0x94], ecx
jg 0x1401d347f
mov r8d, edx
mov dword [rsp + 0x20], r15d
mov edx, 3
mov r9d, esi
mov rcx, r12
call fcn.1401925a0
jmp 0x1401d34f1
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 3
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
jmp 0x1401d34f1
mov rcx, qword [rbp - 0x80]
call fcn.1401ed470
mov rcx, qword [r12]
cmp byte [rcx + 0x61], 0
jne 0x1401d34f1
movsxd rax, dword [rsp + 0x60]
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.14018f540
mov word [rbx], 0xad
mov qword [rbx + 0x10], r15
mov esi, dword [rsp + 0x40]
movsxd rcx, dword [r12 + 0x90]
inc esi
mov ebx, dword [rsp + 0x78]
cmp dword [r12 + 0x94], ecx
jg 0x1401d3527
mov r9d, ebx
mov dword [rsp + 0x20], r15d
mov r8d, esi
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, r12
call fcn.1401925a0
jmp 0x1401d3557
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d3584
mov r9d, dword [rsp + 0x4c]
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0xb]
call fcn.1401925a0
jmp 0x1401d35b5
mov edx, dword [rsp + 0x4c]
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], VariantTimeToDosDateTime
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rdi, dword [r12 + 0x90]
cmp dword [r12 + 0x94], edi
jg 0x1401d35e4
mov r9d, dword [rsp + 0x40]
mov edx, 0x45
mov rcx, r12
mov dword [rsp + 0x20], r15d
lea r8d, [rdx - 0x44]
call fcn.1401925a0
jmp 0x1401d361c
mov edx, dword [rsp + 0x40]
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [r12 + 0x90], eax
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d3647
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, esi
mov rcx, r12
lea edx, [r9 + 0x41]
call fcn.1401925a0
jmp 0x1401d3677
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x41
mov dword [rax + rcx*8 + 4], esi
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [r12 + 0x18]
not ebx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401d3693
mov r8d, ebx
mov rdx, r12
call fcn.1401a1050
jmp 0x1401d36a6
mov rcx, qword [rcx + 0x50]
mov eax, dword [r12 + 0x90]
movsxd r8, ebx
mov dword [rcx + r8*4], eax
movsxd rax, dword [r12 + 0x90]
lea r8d, [rax + 2]
lea ebx, [rax + 1]
cmp dword [r12 + 0x94], eax
jg 0x1401d36da
mov r9d, r8d
mov dword [rsp + 0x20], r15d
mov r8d, dword [rbp - 0x50]
mov edx, 0x30
mov rcx, r12
call fcn.1401925a0
jmp 0x1401d370b
mov edx, dword [rbp - 0x50]
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov dword [r12 + 0x90], ebx
mov dword [rax + rcx*8], 0x30
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d3736
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, esi
mov rcx, r12
lea edx, [r9 + 0x41]
call fcn.1401925a0
jmp 0x1401d3766
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x41
mov dword [rax + rcx*8 + 4], esi
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov rdx, r13
mov rcx, r14
call fcn.14018cb00
mov rdx, qword [rbp - 0x40]
mov r9d, 0x10
mov r8d, ebx
mov rcx, r14
call fcn.1401b8ab0
mov rdx, qword [rbp + 0xe8]
lea rax, [rbp - 0x70]
mov dword [rsp + 0x38], edi
lea r9, [rbp + 0x18]
mov rdi, qword [rbp + 0xf0]
mov r8d, 0xffffffff
mov dword [rsp + 0x30], ebx
mov rcx, r14
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.1401a4180
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d37e7
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, esi
mov rcx, r12
lea edx, [r9 + 0x41]
call fcn.1401925a0
jmp 0x1401d3817
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x41
mov dword [rax + rcx*8 + 4], esi
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [r12 + 0x18]
mov edx, dword [rsp + 0x44]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401d3837
mov r8d, edx
mov rdx, r12
call fcn.1401a1050
jmp 0x1401d384a
mov rcx, qword [rcx + 0x50]
mov eax, dword [r12 + 0x90]
movsxd r8, edx
mov dword [rcx + r8*4], eax
mov rdx, r13
mov rcx, r14
call fcn.1401a0e80
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d3881
mov r9d, dword [rbp - 0x50]
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0x45]
call fcn.1401925a0
jmp 0x1401d38b1
mov edx, dword [rbp - 0x50]
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d38e9
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov rcx, r12
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x41]
call fcn.1401925a0
mov ebx, dword [rsp + 0x4c]
mov rsi, qword [rbp - 0x48]
jmp 0x1401d3d32
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov ebx, dword [rsp + 0x4c]
lea rcx, [rcx + rcx*2]
mov rsi, qword [rbp - 0x48]
mov dword [r12 + 0x90], eax
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x41
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
jmp 0x1401d3d32
mov rax, qword [rbp + 0xe8]
cmp qword [rax + 0x30], r15
jne 0x1401d3d55
mov rdx, qword [rax + 0x20]
cmp dword [rdx], 1
jne 0x1401d3d55
mov rsi, qword [rax + 0x28]
cmp dword [rsi], 1
jne 0x1401d3d55
cmp qword [rsi + 0x30], r15
jne 0x1401d3d55
mov rsi, qword [rsi + 0x28]
cmp dword [rsi + 0x54], r15d
jne 0x1401d3d55
mov rdx, qword [rdx + 8]
cmp byte [rdx], 0xa5
jne 0x1401d3d55
cmp dword [r13 + 0x38], r15d
je 0x1401d3d55
mov rax, qword [r13 + 0x30]
mov rcx, qword [rax + 8]
test dword [rcx + 4], 0x100
je 0x1401d3d55
test dword [rdx + 4], 0x1000002
jne 0x1401d3d55
mov rdx, qword [rsi + 0x70]
mov edi, 0xfff0bdc0
test rdx, rdx
je 0x1401d39db
mov rax, qword [r9]
mov edi, r15d
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x1401d39db
nop word [rax + rax]
inc edi
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x1401d39d0
mov r14d, dword [r9 + 0x34]
mov rcx, r9
mov r13, r15
mov rbx, r15
lea eax, [r14 + 1]
mov dword [r9 + 0x34], eax
mov eax, dword [rsi + 0x38]
mov dword [rbp + 0xf8], eax
mov rax, qword [r9 + 0xa0]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x74]
bt eax, edi
jb 0x1401d3a1f
bts eax, edi
mov dword [rcx + 0x74], eax
cmp edi, 1
jne 0x1401d3a1f
call fcn.1401c6ea0
mov rax, qword [rsi]
xor r9d, r9d
mov r8d, dword [rsi + 0x38]
mov edx, edi
mov rcx, qword [rbp + 0xe0]
mov qword [rsp + 0x20], rax
call fcn.1401d64e0
test byte [rsi + 0x40], 0x80
je 0x1401d3a62
mov rbx, qword [rsi + 0x10]
test rbx, rbx
je 0x1401d3a62
nop dword [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401d3a62
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401d3a50
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax + 0x28]
test byte [rax + 0x48], 1
jne 0x1401d3aad
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1401d3aad
nop dword [rax]
test byte [rax + 0x64], 4
jne 0x1401d3aa4
movzx ecx, word [rax + 0x5c]
cmp cx, word [rsi + 0x4c]
jge 0x1401d3aa4
cmp qword [rax + 0x48], r15
jne 0x1401d3aa4
test rbx, rbx
je 0x1401d3aa1
cmp cx, word [rbx + 0x5c]
jge 0x1401d3aa4
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401d3a80
test rbx, rbx
je 0x1401d3acd
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, qword [rbp + 0xe0]
mov dword [rbp + 0xf8], eax
call fcn.1401c4960
mov r13, rax
movsxd rdx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], edx
jg 0x1401d3afe
mov r9d, dword [rbp + 0xf8]
mov r8d, r14d
mov edx, 0x60
mov dword [rsp + 0x20], edi
mov rcx, r12
call fcn.1401925a0
mov edx, eax
jmp 0x1401d3b36
mov r8d, dword [rbp + 0xf8]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r12 + 0x90], eax
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x60
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], r15
mov rax, qword [r12]
mov edi, 1
cmp byte [rax + 0x61], r15b
jne 0x1401d3b5d
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], edi
test r13, r13
je 0x1401d3bb9
mov rcx, qword [r12]
cmp byte [rcx + 0x61], r15b
je 0x1401d3b7b
mov r8, r13
mov edx, 0xfffffff7
call fcn.14018f540
jmp 0x1401d3bb9
movsxd rax, dword [r12 + 0x90]
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rdx, [rdx - 3]
cmp byte [rax + rdx*8 + 1], r15b
lea rdx, [rax + rdx*8]
je 0x1401d3bb1
mov r9d, 0xfffffff7
mov r8, r13
mov rcx, r12
call fcn.1401f5e90
jmp 0x1401d3bb9
mov qword [rdx + 0x10], r13
mov byte [rdx + 1], 0xf7
mov rax, qword [rbp - 0x28]
movsxd rcx, dword [r12 + 0x90]
mov rax, qword [rax + 0x30]
mov edx, dword [rax + 0x10]
cmp dword [r12 + 0x94], ecx
jg 0x1401d3bf0
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x5c
mov r8d, r14d
mov rcx, r12
call fcn.1401925a0
jmp 0x1401d3c21
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x5c
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d3c4c
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, r14d
mov rcx, r12
lea edx, [r9 + 0x74]
call fcn.1401925a0
jmp 0x1401d3c79
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x74
mov dword [rax + rcx*8 + 4], r14d
mov qword [rax + rcx*8 + 8], r15
mov qword [rax + rcx*8 + 0x10], r15
mov r14, qword [rbp + 0xe0]
cmp byte [r14 + 0x11b], 2
jne 0x1401d3ce2
test rbx, rbx
je 0x1401d3caa
test byte [rsi + 0x40], 0x80
je 0x1401d3c9e
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401d3caa
mov rax, qword [rbx]
lea rcx, [0x140257edf]
jmp 0x1401d3cb7
lea rcx, [0x140257edf]
mov edi, r15d
mov rax, rcx
mov r9, qword [rsi]
lea rdx, str._USING_COVERING_INDEX
test edi, edi
mov qword [rsp + 0x28], rax
lea r8, str.SCAN_TABLE__s_s_s
cmovne rcx, rdx
xor edx, edx
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.1401e34c0
mov rsi, qword [rbp - 0x48]
mov ebx, dword [rsp + 0x4c]
mov r9d, 0x10
mov rdx, qword [rbp - 0x40]
mov r8d, ebx
mov rcx, r14
mov qword [rbp + 0x18], r15
call fcn.1401b8ab0
mov rdi, qword [rbp + 0xf0]
xor r9d, r9d
mov rdx, qword [rbp + 0xe8]
mov rcx, r14
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
lea r8d, [r9 - 1]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r15
call fcn.1401a4180
mov rcx, qword [r12 + 0x18]
not ebx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401d3f30
mov r8d, ebx
mov rdx, r12
call fcn.1401a1050
jmp 0x1401d3f42
mov ebx, r15d
cmp dword [r13 + 0x2c], r15d
je 0x1401d3dff
mov r8d, dword [r13 + 0x38]
mov edx, r15d
test r8d, r8d
jle 0x1401d3d93
mov rcx, qword [r13 + 0x30]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x1401d3d88
mov rax, qword [rcx + 8]
test byte [rax + 4], 0x20
jne 0x1401d3d93
inc edx
add rcx, 0x18
cmp edx, r8d
jl 0x1401d3d72
cmp edx, r8d
jne 0x1401d3dff
inc dword [r9 + 0x38]
movsxd rcx, dword [r12 + 0x90]
mov ebx, dword [r9 + 0x38]
cmp dword [r12 + 0x94], ecx
jg 0x1401d3dd2
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, ebx
mov rcx, r12
lea edx, [r8 + 0x45]
call fcn.1401925a0
mov r9, qword [rbp + 0xe0]
jmp 0x1401d3dff
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rdx, r13
mov rcx, r9
call fcn.1401a0e80
mov rsi, qword [rbp - 0x48]
mov r8, qword [rbp - 0x80]
mov r9, rsi
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x30], r15d
mov word [rsp + 0x28], r14w
mov r14, qword [rbp + 0xe0]
mov rcx, r14
mov qword [rsp + 0x20], r15
call fcn.1401e9ea0
mov rdi, rax
test rax, rax
je 0x1401d4011
mov r8, r13
mov edx, ebx
mov rcx, r14
call fcn.1401f4850
test ebx, ebx
je 0x1401d3eb7
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1401d3e83
mov edx, 0x45
mov dword [rsp + 0x20], r15d
mov r9d, ebx
mov rcx, r12
lea r8d, [rdx - 0x44]
call fcn.1401925a0
jmp 0x1401d3eb7
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
cmp byte [rdi + 0x41], r15b
jle 0x1401d3f18
movsxd rcx, dword [r12 + 0x90]
mov edx, dword [rdi + 0x34]
cmp dword [r12 + 0x94], ecx
jg 0x1401d3eeb
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov rcx, r12
lea edx, [r8 + 0xb]
call fcn.1401925a0
jmp 0x1401d3f18
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], VariantTimeToDosDateTime
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, rdi
call fcn.1401ed470
mov rdx, r13
mov rcx, r14
call fcn.14018cb00
jmp 0x1401d3ce6
mov rcx, qword [rcx + 0x50]
mov eax, dword [r12 + 0x90]
movsxd rdx, ebx
mov dword [rcx + rdx*4], eax
mov rbx, qword [rbp + 0xe8]
cmp byte [rbp - 0x74], 3
jne 0x1401d3f67
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r14
call fcn.1401e34c0
cmp qword [rbp + 0x18], 0
je 0x1401d3fb0
cmp dword [rbp + 0x20], 0
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea r9, str.ORDER_BY
mov rcx, r14
cmovg r9, rax
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
call fcn.1401e34c0
mov rax, qword [rbp - 0x20]
lea r8, [rbp + 0x18]
mov rdx, rbx
mov qword [rsp + 0x20], rdi
mov rcx, r14
mov r9d, dword [rax]
call fcn.140190910
mov rcx, qword [r12 + 0x18]
mov edx, dword [rbp - 0x34]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401d3fdb
mov r8d, edx
mov rdx, r12
call fcn.1401a1050
cmp dword [r14 + 0x30], 0
mov edi, r15d
setg dil
jmp 0x1401d4015
mov r8, qword [rcx + 0x50]
mov edi, r15d
mov eax, dword [r12 + 0x90]
movsxd r9, edx
mov dword [r8 + r9*4], eax
cmp dword [r14 + 0x30], 0
setg dil
jmp 0x1401d4015
mov r14, qword [rbp + 0xe0]
mov edi, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x48]
jmp 0x1401d401a
mov rsi, qword [rbp - 0x48]
mov edi, dword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
test rsi, rsi
je 0x1401d4037
mov rdx, rsi
mov rcx, rax
call fcn.14018bd10
jmp 0x1401d4037
mov r14, qword [rbp + 0xe0]
mov edi, dword [rsp + 0x50]
lea r8, [0x1402b2790]
mov ecx, dword [r14 + 0x128]
test ecx, ecx
je 0x1401d4076
mov rdx, qword [r14 + 0x10]
jns 0x1401d4057
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x61], 0
jne 0x1401d4072
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea r8, [rax + rcx*8]
mov r15d, dword [r8 + 8]
mov dword [r14 + 0x128], r15d
mov eax, edi
jmp 0x1401d4084
mov eax, r13d
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret