Function at 0x14021eb10
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 r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov r14, qword [rcx + 0x10]
xor edi, edi
mov rax, qword [rcx]
mov esi, 1
mov dword [rbp - 0x64], esi
mov r15, r8
mov qword [rbp + 0x60], rdi
mov rbx, rdx
mov qword [rsp + 0x58], rax
mov r12, rcx
mov qword [rbp - 0x50], r14
test r14, r14
jne 0x14021eb83
cmp qword [rcx + 0xa0], rdi
jne 0x14021eb77
test byte [rax + 0x60], 8
jne 0x14021eb77
mov byte [rcx + 0x23], sil
call fcn.14022a4f0
mov r14, rax
mov qword [rbp - 0x50], rax
test rbx, rbx
je 0x140221dbe
cmp dword [r12 + 0x30], edi
jne 0x140221dbe
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rcx, r12
lea edx, [r9 + 0x15]
call fcn.1401efda0
test eax, eax
jne 0x140221dbe
cmp byte [r15], 6
ja 0x14021ebe5
mov r8, qword [rbx + 0x48]
test r8, r8
je 0x14021ebd8
lea rdx, [0x1402040c0]
mov rcx, r12
call fcn.140214dc0
mov qword [rbx + 0x48], rdi
mov eax, dword [rbx + 4]
and eax, 0xfffffffe
bts eax, 0x16
mov dword [rbx + 4], eax
xor r8d, r8d
mov qword [rsp + 0x1a8], r13
mov rdx, rbx
mov rcx, r12
call fcn.140222970
lea rdx, [0x14037eae0]
cmp dword [r12 + 0x30], edi
jne 0x140221d75
mov r10d, dword [rbx + 4]
bt r10d, 0x17
jae 0x14021ec59
mov rdx, qword [rbx + 0x28]
lea r11, [rdx + 8]
mov rcx, r11
call fcn.1401e9810
test eax, eax
je 0x14021ec50
mov r8, qword [r11 + 0x18]
test r8, r8
jne 0x14021ec3c
mov rax, qword [r11 + 0x20]
mov r8, qword [rax]
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, r12
call fcn.1401fdeb0
jmp 0x140221d6e
btr r10d, 0x17
mov dword [rbx + 4], r10d
cmp byte [r15], 9
jne 0x14021ec6a
mov rdx, rbx
mov rcx, r12
call fcn.140207f10
mov rdx, rbx
mov rcx, r12
call fcn.140243ce0
test eax, eax
jne 0x140221d6e
mov r15, qword [rbx + 0x48]
xorps xmm0, xmm0
mov eax, dword [rbx + 4]
mov r12d, edi
mov rsi, qword [rbx + 0x28]
shr eax, 3
and eax, 1
mov qword [rsp + 0x70], r15
movups xmmword [rbp + 0x68], xmm0
mov dword [rsp + 0x50], eax
movups xmmword [rbp + 0x78], xmm0
mov qword [rbp + 0x68], r15
movups xmmword [rbp + 0x88], xmm0
cmp qword [rbx + 0x50], rdi
jne 0x14021ee5b
mov r9, qword [rsp + 0x58]
mov r13, rdi
cmp r12d, dword [rsi]
jge 0x14021eecb
imul rbx, r13, 0x68
add rbx, rsi
movzx eax, byte [rbx + 0x44]
mov rdx, qword [rbx + 0x28]
and al, 0x18
mov r15, qword [rbx + 0x30]
mov qword [rbp + 0x108], rdx
cmp al, 8
jne 0x14021ed46
mov rax, qword [rbp + 0xf8]
mov edx, dword [rbx + 0x4c]
mov rcx, qword [rax + 0x30]
call fcn.140203930
mov r9, qword [rsp + 0x58]
test eax, eax
je 0x14021ed3f
test dword [r9 + 0x60], 0x2000
jne 0x14021ed3f
and byte [rbx + 0x44], 0xd7
mov edx, dword [rbx + 0x4c]
movzx r8d, byte [rsi + 0x44]
mov rbx, qword [rbp + 0xf8]
and r8d, 0x40
mov rcx, qword [rbx + 0x30]
call fcn.1402477d0
mov rdx, qword [rbp + 0x108]
mov r9, qword [rsp + 0x58]
jmp 0x14021ed4d
mov rdx, qword [rbp + 0x108]
mov rbx, qword [rbp + 0xf8]
test r15, r15
je 0x14021ee46
mov rax, qword [r15 + 0x20]
movsx r8d, word [rdx + 0x36]
mov ecx, dword [rax]
cmp r8d, ecx
jne 0x14021eea9
mov eax, dword [r15 + 4]
test al, 8
jne 0x14021ee46
mov r8, qword [r15 + 0x48]
test r8, r8
je 0x14021edde
cmp qword [rbx + 0x48], rdi
jne 0x14021ed8a
cmp dword [rsi], 1
jle 0x14021edc2
cmp qword [r15 + 0x60], rdi
jne 0x14021edc2
bt eax, 0x1b
jb 0x14021edc2
test dword [rbx + 4], 0x8000000
jne 0x14021edc2
test dword [r9 + 0x60], 0x40000
jne 0x14021edc2
mov rcx, qword [rbp + 0xf0]
lea rdx, [0x1402040c0]
call fcn.140214dc0
mov qword [r15 + 0x48], rdi
jmp 0x14021edde
test r12d, r12d
jne 0x14021edde
test dword [rbx + 4], 0x40000
je 0x14021edde
cmp dword [rsi], 1
je 0x14021ee46
test byte [rsi + 0xac], 0x22
jne 0x14021ee46
mov r9d, dword [rsp + 0x50]
mov r8d, r12d
mov rcx, qword [rbp + 0xf0]
mov rdx, rbx
call fcn.1401cfb50
test eax, eax
je 0x14021ee18
mov r12, qword [rbp + 0xf0]
cmp dword [r12 + 0x30], edi
jne 0x140221d69
mov r12d, 0xffffffff
mov r13, 0xffffffffffffffff
mov r9, qword [rsp + 0x58]
mov rsi, qword [rbx + 0x28]
cmp byte [r9 + 0x67], dil
jne 0x140221d62
mov rax, qword [rbp + 0x100]
cmp byte [rax], 8
jbe 0x14021ee46
mov r15, qword [rbx + 0x48]
mov qword [rsp + 0x70], r15
mov qword [rbp + 0x68], r15
jmp 0x14021ee4b
mov r15, qword [rsp + 0x70]
inc r12d
inc r13
cmp qword [rbx + 0x50], rdi
je 0x14021ecc2
mov r8, qword [rbp + 0x100]
mov rdx, rbx
mov rbx, qword [rbp + 0xf0]
mov rcx, rbx
call fcn.1401da7a0
mov r10d, eax
mov rax, qword [rbp + 0xf8]
cmp qword [rax + 0x58], rdi
jne 0x14021ee8c
mov rcx, rbx
call fcn.140234250
mov eax, r10d
mov r13, qword [rsp + 0x1a8]
add rsp, 0x1b0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9, qword [rdx]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov r12, qword [rbp + 0xf0]
mov dword [rsp + 0x20], ecx
mov rcx, r12
call fcn.1401fdeb0
jmp 0x140221d69
mov rax, qword [rbx + 0x30]
mov r13, rsi
mov r12, qword [rbp + 0xf0]
mov qword [rsp + 0x60], rsi
test rax, rax
je 0x14021efc1
cmp byte [rax], 0x2c
mov qword [rsp + 0x60], rsi
jne 0x14021efc1
test dword [r9 + 0x60], 0x8000
mov qword [rsp + 0x60], rsi
jne 0x14021efc1
mov rax, qword [r12]
lea r15, [sym.iCloudServices.exe_PR_GetError]
add rax, 0x67
mov qword [rsp + 0x60], rsi
mov qword [rbp + 0x28], rax
lea rsi, [0x1401e3030]
mov qword [rbp + 0x20], r12
mov r14d, 1
mov rax, qword [rbx + 0x28]
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x40], rdi
mov dword [rbp + 0x38], edi
test rax, rax
je 0x14021ef56
cmp dword [rax], edi
jle 0x14021ef56
test byte [rax + 0x44], 0x40
mov dword [rbp + 0x3c], 3
jne 0x14021ef5a
mov dword [rbp + 0x3c], r14d
mov rdx, qword [rbx + 0x30]
lea rcx, [rbp + 0x20]
call fcn.1401cc230
cmp dword [rbp + 0x30], edi
je 0x14021efaf
mov rdx, qword [rbx + 0x30]
lea rax, [rbp + 0x20]
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x10], rax
test rdx, rdx
je 0x14021ef9a
lea rcx, [rbp - 0x38]
call fcn.140250890
mov rdx, qword [rbp + 0x40]
test rdx, rdx
je 0x14021efaf
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx]
call fcn.1401fb370
cmp dword [rbp + 0x34], edi
jne 0x14021ef31
mov r14, qword [rbp - 0x50]
mov r15, qword [rsp + 0x70]
lea rdx, [0x140274748]
mov ecx, edi
mov dword [rbp + 0x108], ecx
cmp dword [r13], edi
jle 0x14021f6f2
mov r15, rdi
mov qword [rbp - 0x78], rdi
imul rax, r15, 0x68
lea rbx, [r13 + 8]
add rbx, rax
cmp qword [rbx + 0x50], rdi
jne 0x14021f01a
mov r8, qword [rbx + 0x10]
test r8, r8
je 0x14021f01a
mov rax, qword [rbx + 8]
mov r9, rdx
mov edx, reloc.OLEAUT32.dll_SafeArrayLock
mov qword [rsp + 0x20], rax
mov rcx, r12
call fcn.1401efda0
mov ecx, dword [rbp + 0x108]
mov r13, qword [rbx + 0x28]
test r13, r13
je 0x14021f6c1
mov rsi, qword [rbp + 0xf8]
lea rdx, [rsp + 0x68]
mov rcx, rsi
mov dword [rsp + 0x68], edi
call fcn.1401d38f0
mov eax, dword [rsp + 0x68]
add dword [r12 + 0x12c], eax
mov rax, qword [rsp + 0x58]
test dword [rax + 0x60], 0x1000
jne 0x14021f083
test dword [rbx + 0x40], 0x100
je 0x14021f071
mov rax, qword [rbx + 0x60]
cmp byte [rax + 0x12], dil
je 0x14021f083
cmp dword [rax], 2
jge 0x14021f083
mov r8, qword [rsi + 0x30]
mov r9, rbx
mov rdx, r13
mov rcx, r12
call fcn.1401e35f0
mov rax, qword [r12 + 0x168]
mov rcx, qword [rsp + 0x60]
mov qword [rbp + 8], rax
mov rax, qword [rbx + 0x10]
mov qword [r12 + 0x168], rax
test r15, r15
jne 0x14021f202
cmp dword [rcx], 1
je 0x14021f0bb
test byte [rcx + 0xac], 0x22
je 0x14021f202
test dword [rbx + 0x40], 0x100
je 0x14021f0d2
mov rax, qword [rbx + 0x60]
cmp byte [rax + 0x12], dil
je 0x14021f202
test byte [rcx + 0x44], 0x40
jne 0x14021f202
mov r15d, dword [r14 + 0x90]
inc dword [r12 + 0x38]
mov edx, dword [r12 + 0x38]
mov dword [rbx + 0x34], edx
movsxd rcx, dword [r14 + 0x90]
lea esi, [r15 + 1]
cmp dword [r14 + 0x94], ecx
jg 0x14021f11c
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, edx
mov rcx, r14
lea edx, [r9 + 0xa]
call fcn.1401d32a0
jmp 0x14021f149
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rdi
mov eax, dword [rbx + 0x34]
lea r8, str.CO_ROUTINE___S
mov dword [rbx + 0x30], esi
mov r9, rbx
mov esi, 1
mov byte [rbp + 0x20], SafeArrayGetDim
mov edx, esi
mov dword [rbp + 0x24], eax
mov rcx, r12
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x38], rdi
mov dword [rbp + 0x30], edi
call fcn.140234110
lea r8, [rbp + 0x20]
mov rdx, r13
mov rcx, r12
call fcn.14021eb10
movzx eax, word [r13 + 2]
mov rcx, qword [rbx + 0x20]
mov word [rcx + 0x3a], ax
mov rcx, r14
mov eax, dword [rbp + 0x2c]
mov edx, dword [rbx + 0x34]
or dword [rbx + 0x40], 0x20
mov dword [rbx + 0x38], eax
call fcn.14022abf0
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], dil
je 0x14021f1d4
lea rax, [0x14037eae0]
mov dword [rax + 8], edx
mov byte [r12 + 0x1f], dil
mov dword [r12 + 0x28], edi
jmp 0x14021f676
lea eax, [rdx - 1]
test r15d, r15d
cmovns eax, r15d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 8], edx
mov byte [r12 + 0x1f], dil
mov dword [r12 + 0x28], edi
lea rax, [rax + rcx*8]
jmp 0x14021f676
test dword [rbx + 0x40], 0x100
je 0x14021f2a3
mov rsi, qword [rbx + 0x60]
mov edx, dword [rsi + 4]
test edx, edx
jle 0x14021f2a3
movsxd rcx, dword [r14 + 0x90]
mov r8d, dword [rsi + 8]
cmp dword [r14 + 0x94], ecx
jg 0x14021f248
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 9
mov rcx, r14
call fcn.1401d32a0
jmp 0x14021f276
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov r9d, dword [rsi + 0xc]
mov r8d, dword [rbx + 0x44]
cmp r8d, r9d
je 0x14021f290
mov edx, 0x73
mov rcx, r14
call fcn.140229d30
movzx eax, word [rsi + 0x10]
mov esi, 1
mov word [r13 + 2], ax
jmp 0x14021f67a
mov r15, qword [rbx + 0x28]
test dword [r15 + 4], 0x1000000
jne 0x14021f36a
lea rsi, [rcx + 8]
cmp rsi, rbx
jae 0x14021f36a
mov r10, qword [rsi + 0x28]
test r10, r10
je 0x14021f35d
test byte [rsi + 0x40], 0x20
jne 0x14021f35d
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x14021f35d
mov rax, qword [rsi + 0x20]
mov r11, qword [rax + 0x60]
mov rax, qword [rbx + 0x20]
cmp r11, qword [rax + 0x60]
jne 0x14021f35d
mov r9, qword [rbx + 0x10]
test r9, r9
je 0x14021f35d
sub r9, rdx
lea r12, [0x1402e1730]
nop word [rax + rax]
movzx ecx, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp ecx, r8d
jne 0x14021f326
test ecx, ecx
je 0x14021f33b
inc rdx
jmp 0x14021f310
movzx ecx, byte [rcx + r12]
movzx eax, byte [r8 + r12]
sub ecx, eax
jne 0x14021f339
inc rdx
jmp 0x14021f310
test ecx, ecx
mov r12, qword [rbp + 0xf0]
jne 0x14021f35d
test r11, r11
jne 0x14021f353
mov eax, dword [r10 + 0x10]
cmp dword [r15 + 0x10], eax
jne 0x14021f35d
test dword [r10 + 4], 0x1000000
je 0x14021f3ab
add rsi, 0x68
cmp rsi, rbx
jb 0x14021f2c2
inc dword [r12 + 0x38]
mov esi, edi
mov eax, dword [r12 + 0x38]
mov dword [rbx + 0x34], eax
movsxd r15, dword [r14 + 0x90]
cmp dword [r14 + 0x94], r15d
jg 0x14021f487
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 8]
call fcn.1401d32a0
mov r15d, eax
jmp 0x14021f4af
mov edx, dword [rsi + 0x30]
test edx, edx
je 0x14021f40a
movsxd rcx, dword [r14 + 0x90]
mov r8d, dword [rsi + 0x34]
cmp dword [r14 + 0x94], ecx
jg 0x14021f3dc
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 9
mov rcx, r14
call fcn.1401d32a0
jmp 0x14021f40a
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [rsi + 0x44]
mov r8d, dword [rbx + 0x44]
cmp dword [r14 + 0x94], ecx
jg 0x14021f447
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x73
mov rcx, r14
call fcn.1401d32a0
mov rax, qword [rsi + 0x28]
movzx ecx, word [rax + 2]
mov word [r13 + 2], cx
jmp 0x14021f671
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x73
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rsi + 0x28]
movzx ecx, word [rax + 2]
mov word [r13 + 2], cx
jmp 0x14021f671
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 8
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
or dword [rbx + 0x40], 0x10
lea r12d, [r15 + 1]
test byte [rbx + 0x40], 8
mov dword [rbx + 0x30], r12d
jne 0x14021f512
movsxd rsi, dword [r14 + 0x90]
cmp dword [r14 + 0x94], esi
jg 0x14021f4eb
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0xe]
call fcn.1401d32a0
mov esi, eax
jmp 0x14021f512
lea rcx, [rsi + rsi*2]
lea eax, [rsi + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], SafeArrayGetLBound
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov eax, dword [rbx + 0x44]
lea r8, str.MATERIALIZE___S
mov rcx, qword [rbp + 0xf0]
mov r9, rbx
mov edx, 1
mov dword [rbp + 0x24], eax
mov byte [rbp + 0x20], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x38], rdi
mov dword [rbp + 0x30], edi
call fcn.140234110
mov rcx, qword [rbp + 0xf0]
lea r8, [rbp + 0x20]
mov rdx, r13
call fcn.14021eb10
mov rcx, qword [rbx + 0x20]
mov r8, r13
movzx eax, word [r13 + 2]
mov word [rcx + 0x3a], ax
test esi, esi
je 0x14021f59e
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], dil
je 0x14021f582
lea rax, [0x14037eae0]
jmp 0x14021f59b
lea eax, [rdx - 1]
test esi, esi
cmovns eax, esi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [rbx + 0x34]
cmp dword [r14 + 0x94], ecx
jg 0x14021f5cd
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x43
mov r9d, r12d
mov rcx, r14
call fcn.1401d32a0
mov r8, r13
jmp 0x14021f5fb
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], dil
je 0x14021f614
lea rax, [0x14037eae0]
jmp 0x14021f62f
lea eax, [rdx - 1]
test r15d, r15d
cmovns eax, r15d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
mov r12, qword [rbp + 0xf0]
mov dword [rax + 8], edx
mov byte [r12 + 0x1f], dil
mov dword [r12 + 0x28], edi
mov eax, dword [rbx + 0x40]
and eax, 0x108
cmp eax, 0x100
jne 0x14021f671
mov eax, dword [rbx + 0x30]
mov rcx, qword [rbx + 0x60]
mov dword [rcx + 4], eax
mov eax, dword [rbx + 0x34]
mov dword [rcx + 8], eax
mov eax, dword [rbx + 0x44]
mov dword [rcx + 0xc], eax
movzx eax, word [r8 + 2]
mov word [rcx + 0x10], ax
mov esi, 1
mov r15, qword [rbp - 0x78]
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], dil
jne 0x140221d6e
mov rbx, qword [rbp + 0xf8]
lea rdx, [rsp + 0x68]
mov rcx, rbx
mov dword [rsp + 0x68], edi
call fcn.1401d38f0
mov rax, qword [rbp + 8]
mov edx, dword [rsp + 0x68]
sub dword [r12 + 0x12c], edx
mov ecx, dword [rbp + 0x108]
mov qword [r12 + 0x168], rax
jmp 0x14021f6c8
mov rbx, qword [rbp + 0xf8]
mov r13, qword [rsp + 0x60]
lea rdx, [0x140274748]
inc ecx
inc r15
mov dword [rbp + 0x108], ecx
mov qword [rbp - 0x78], r15
cmp ecx, dword [r13]
jl 0x14021efe1
mov r15, qword [rsp + 0x70]
mov rax, qword [rbx + 0x30]
mov ecx, dword [rbx + 4]
mov rdx, qword [rbx + 0x20]
mov r13, qword [rbx + 0x38]
mov qword [rbp - 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rbp - 0x40], rax
movzx eax, byte [rbx + 4]
and al, 1
mov qword [rbp - 0x78], rdx
mov byte [rsp + 0x40], al
mov byte [rbp + 0x10], al
mov eax, ecx
and al, 9
mov qword [rbp - 0x60], r13
cmp al, 1
jne 0x14021f7d1
test r15, r15
jne 0x14021f73e
test rdx, rdx
jne 0x14021f7d1
jmp 0x14021f7a0
test rdx, rdx
je 0x14021f7d1
mov eax, dword [r15]
cmp eax, dword [rdx]
jne 0x14021f7d1
mov esi, edi
test eax, eax
jle 0x14021f7a0
lea rbx, [rdx + 0x18]
sub r15, rdx
nop
movzx eax, byte [rbx]
cmp byte [r15 + rbx], al
jne 0x14021f7d1
mov r8, qword [rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [r15 + rbx - 0x10]
xor ecx, ecx
call fcn.140202900
test eax, eax
jne 0x14021f7d1
mov rax, qword [rsp + 0x70]
inc esi
add rbx, 0x20
cmp esi, dword [rax]
jl 0x14021f760
mov rbx, qword [rbp + 0xf8]
mov rdx, qword [rbp - 0x78]
mov ecx, dword [rbx + 4]
cmp qword [rbx + 0x70], rdi
jne 0x14021f7d1
and ecx, 0xfffffffe
xor r8d, r8d
mov dword [rbx + 4], ecx
mov rcx, qword [rsp + 0x58]
call fcn.1402040d0
or dword [rbx + 4], 8
mov r13, rax
mov qword [rbp - 0x60], rax
mov qword [rbx + 0x38], rax
mov al, 2
mov byte [rsp + 0x40], al
mov byte [rbp + 0x10], al
mov r15, qword [rsp + 0x70]
mov rsi, qword [rbp - 0x78]
test r15, r15
je 0x14021f8e4
mov r9d, dword [rsi]
xor r8d, r8d
mov rdx, r15
mov rcx, r12
call fcn.14020fb10
mov r8d, dword [r12 + 0x34]
mov rbx, rax
mov dword [rbp + 0x74], r8d
lea ecx, [r8 + 1]
mov dword [r12 + 0x34], ecx
mov r9d, dword [rsi]
inc r9d
add r9d, dword [r15]
movsxd r15, dword [r14 + 0x90]
mov dword [rbp - 0x58], r15d
cmp dword [r14 + 0x94], r15d
jg 0x14021f83f
mov edx, 0x76
mov dword [rsp + 0x20], edi
mov rcx, r14
call fcn.1401d32a0
mov r15d, eax
mov dword [rbp - 0x58], eax
jmp 0x14021f86f
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [r14]
mov eax, r15d
cmp byte [rcx + 0x67], dil
je 0x14021f89c
cmp qword [rcx + 0x300], rdi
jne 0x14021f8ee
test rbx, rbx
je 0x14021f8ee
add dword [rbx], 0xffffffff
jne 0x14021f8ee
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
call fcn.1401fb370
jmp 0x14021f8ee
test r15d, r15d
jns 0x14021f8aa
mov eax, dword [r14 + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
cmp byte [rax + rcx*8 + 1], dil
lea rdx, [rax + rcx*8]
je 0x14021f8d5
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, r14
call fcn.140249ac0
jmp 0x14021f8ee
test rbx, rbx
je 0x14021f8ee
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf8
jmp 0x14021f8ee
mov r15d, 0xffffffff
mov dword [rbp - 0x58], r15d
mov rax, qword [rbp + 0x100]
mov dword [rbp + 0x80], r15d
cmp byte [rax], 0xc
jne 0x14021f9bd
mov r9d, dword [rsi]
mov edx, 0x76
mov r8d, dword [rax + 4]
mov rcx, r14
call fcn.140229d30
mov rax, qword [rbp + 0xf8]
test dword [rax + 4], 0x800
je 0x14021f9bd
mov r8, qword [rbp - 0x78]
mov ecx, dword [r8]
lea eax, [rcx - 1]
movsxd rsi, eax
test eax, eax
jle 0x14021f99c
mov r13, qword [rsp + 0x58]
mov rbx, rsi
shl rbx, 5
nop word [rax + rax]
test byte [rbx + r8 + 0x1c], 0x40
jne 0x14021f998
mov rdx, qword [rbx + r8 + 8]
test rdx, rdx
je 0x14021f96e
mov rcx, r13
call fcn.140202cc0
mov r8, qword [rbp - 0x78]
mov rdx, qword [rbx + r8 + 0x10]
test rdx, rdx
je 0x14021f984
mov rcx, r13
call fcn.1401fb370
mov r8, qword [rbp - 0x78]
mov ecx, dword [r8]
dec rsi
dec ecx
sub rbx, 0x20
mov dword [r8], ecx
test rsi, rsi
jg 0x14021f950
mov r13, qword [rbp - 0x60]
mov edx, edi
test ecx, ecx
jle 0x14021f9bd
lea rcx, [r8 + 8]
test byte [rcx + 0x14], 0x40
jne 0x14021f9b2
mov rax, qword [rcx]
mov byte [rax], 0x79
inc edx
add rcx, 0x20
cmp edx, dword [r8]
jl 0x14021f9a6
mov eax, dword [r12 + 0x44]
mov esi, 0x4000
mov r9, qword [rbp + 0xf8]
dec eax
mov dword [r12 + 0x44], eax
mov dword [rbp + 0x58], eax
test dword [r9 + 4], esi
jne 0x14021f9e8
mov ecx, 0x140
mov word [r9 + 2], cx
mov r8d, eax
mov rdx, r9
mov rcx, r12
call fcn.1401c2fa0
mov rdx, qword [rbp + 0xf8]
cmp dword [rdx + 8], edi
jne 0x14021fa35
test r15d, r15d
js 0x14021fa35
mov rax, qword [r14]
cmp byte [rax + 0x67], dil
je 0x14021fa19
lea rax, [0x14037eae0]
jmp 0x14021fa2b
movsxd rax, r15d
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
or byte [rbp + 0x8c], 1
mov byte [rax], 0x77
test byte [rdx + 4], 1
je 0x14021fb60
mov r15d, dword [r12 + 0x34]
xor r9d, r9d
xor r8d, r8d
mov dword [rbp + 0x14], r15d
mov rcx, r12
lea eax, [r15 + 1]
mov dword [r12 + 0x34], eax
mov rdx, qword [rdx + 0x20]
call fcn.14020fb10
movsxd rsi, dword [r14 + 0x90]
mov rbx, rax
cmp dword [r14 + 0x94], esi
jg 0x14021fa90
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r15d
mov rcx, r14
lea edx, [r9 + 0x76]
call fcn.1401d32a0
mov esi, eax
jmp 0x14021fabb
lea rcx, [rsi + rsi*2]
lea eax, [rsi + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [r14]
mov eax, esi
cmp byte [rcx + 0x67], dil
je 0x14021fae7
cmp qword [rcx + 0x300], rdi
jne 0x14021fb2c
test rbx, rbx
je 0x14021fb2c
add dword [rbx], 0xffffffff
jne 0x14021fb2c
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
call fcn.1401fb370
jmp 0x14021fb2c
test esi, esi
jns 0x14021faf4
mov eax, dword [r14 + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
cmp byte [rax + rcx*8 + 1], dil
lea rdx, [rax + rcx*8]
je 0x14021fb1f
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, r14
call fcn.140249ac0
jmp 0x14021fb2c
test rbx, rbx
je 0x14021fb2c
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf8
movsxd rax, dword [r14 + 0x90]
mov dword [rbp + 0x18], esi
test eax, eax
jle 0x14021fb4f
lea rcx, [rax + rax*2]
mov edx, 8
mov rax, qword [r14 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov rdx, qword [rbp + 0xf8]
mov r15b, 3
mov esi, 0x4000
jmp 0x14021fb63
xor r15b, r15b
mov byte [rbp + 0x11], r15b
mov dword [rsp + 0x68], r15d
cmp dword [rsp + 0x50], edi
jne 0x14021fe1e
test r13, r13
jne 0x14021fe1e
movzx r13d, byte [rsp + 0x40]
movzx eax, r13b
neg al
movzx eax, word [rdx + 4]
sbb bx, bx
and ax, si
mov rsi, qword [rdx + 0x70]
and bx, 0x100
or bx, ax
test rsi, rsi
je 0x14021fbb5
mov rcx, r12
call fcn.140241590
mov rdx, qword [rbp + 0xf8]
movsx eax, word [rdx + 2]
mov rcx, r12
mov r9, qword [rsp + 0x70]
mov r8, qword [rbp - 0x48]
mov dword [rsp + 0x38], eax
mov rax, qword [rdx + 0x20]
mov word [rsp + 0x30], bx
mov qword [rsp + 0x28], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.14023acc0
mov rbx, rax
test rax, rax
je 0x140221d69
mov r10, qword [rbp + 0xf8]
movzx eax, word [rax + 0x50]
cmp ax, word [r10 + 2]
jge 0x14021fc09
mov word [r10 + 2], ax
test r13b, r13b
je 0x14021fc25
movzx ecx, byte [rbx + 0x4b]
test cl, cl
movzx r15d, r15b
cmovne r15d, ecx
mov dword [rsp + 0x68], r15d
mov byte [rbp + 0x11], r15b
mov r8, qword [rsp + 0x70]
test r8, r8
je 0x14021fc70
test byte [rbx + 0x4c], 4
movsx edx, byte [rbx + 0x49]
mov dword [rbp + 0x70], edx
jne 0x14021fc41
mov eax, dword [rbx + 0x38]
jmp 0x14021fc5f
movzx eax, byte [rbx + 0x48]
imul rcx, rax, 0x70
cmp qword [rcx + rbx + 0x338], rdi
je 0x14021fc58
mov eax, dword [rbx + 0x38]
jmp 0x14021fc5f
mov eax, dword [rcx + rbx + 0x310]
cmp edx, dword [r8]
mov dword [rbp + 0x88], eax
cmove r8, rdi
mov qword [rbp + 0x68], r8
mov eax, dword [rbp - 0x58]
test eax, eax
js 0x14021fc8d
test r8, r8
jne 0x14021fc8d
mov edx, eax
mov rcx, r14
call fcn.14022a420
mov r10, qword [rbp + 0xf8]
mov rdx, r10
test rsi, rsi
je 0x14021fdd1
mov r15d, dword [r12 + 0x44]
mov r8, rbx
mov rcx, qword [rbp + 0xf0]
lea r13d, [r15 - 1]
sub r15d, 2
inc dword [rcx + 0x38]
mov eax, dword [rcx + 0x38]
mov r9d, eax
mov dword [rbp + 0x108], eax
lea r12d, [r15 - 1]
mov dword [rsp + 0x20], r13d
mov dword [rcx + 0x44], r12d
call fcn.140241ba0
lea rsi, [r14 + 0x90]
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x14021fcfc
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, r12d
mov rcx, r14
lea edx, [r8 + 8]
call fcn.1401d32a0
jmp 0x14021fd22
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 8
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [r14 + 0x18]
lea rbx, [r14 + 0x18]
not r13d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14021fd42
mov r8d, r13d
mov rdx, r14
call fcn.1401e6d90
jmp 0x14021fd4e
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi]
movsxd rdx, r13d
mov dword [rcx + rdx*4], eax
mov rax, qword [rbp + 0x100]
lea r9, [rbp + 0x68]
mov rdx, qword [rbp + 0xf8]
mov r8d, 0xffffffff
mov rcx, qword [rbp + 0xf0]
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x88], edi
call fcn.1401ead90
mov rcx, qword [rbx]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14021fdab
mov r8d, r15d
mov rdx, r14
call fcn.1401e6d90
jmp 0x14021fdb8
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi]
movsxd r9, r15d
mov dword [rcx + r9*4], eax
mov r8d, dword [rbp + 0x108]
mov edx, 0x43
mov rcx, r14
call fcn.140229cc0
jmp 0x140221c81
mov eax, dword [rbx + 0x3c]
lea r9, [rbp + 0x68]
mov dword [rsp + 0x38], eax
mov r8d, 0xffffffff
mov eax, dword [rbx + 0x38]
mov rcx, r12
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0x100]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1401ead90
mov rcx, rbx
call fcn.14023ec30
lea rbx, [r14 + 0x18]
lea rsi, [r14 + 0x90]
jmp 0x140221ca8
mov dword [rsp + 0x44], edi
mov dword [rbp - 0x7c], edi
mov dword [rbp - 8], edi
test r13, r13
je 0x14021ff18
mov rcx, qword [rdx + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x14021fe4d
add rcx, 0x22
nop
dec eax
mov word [rcx], di
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x14021fe40
mov eax, dword [r13]
test eax, eax
jle 0x14021fe6d
lea rcx, [r13 + 0x22]
nop dword [rax]
dec eax
mov word [rcx], di
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x14021fe60
cmp word [rdx + 2], 0x42
jle 0x14021fe7d
mov eax, 0x42
mov word [rdx + 2], ax
mov r9, qword [rsp + 0x70]
test r9, r9
je 0x14021ff1c
mov eax, dword [r13]
cmp eax, dword [r9]
jne 0x14021ff1c
lea rbx, [r13 + 0x18]
mov edx, edi
test eax, eax
jle 0x14021fec8
mov r8, r9
mov rcx, rbx
sub r8, r13
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 0x20]
and al, 1
inc edx
mov byte [rcx - 0x20], al
mov eax, dword [r13]
cmp edx, eax
jl 0x14021feb0
cmp eax, dword [r9]
jne 0x14021ff1c
mov esi, edi
test eax, eax
jle 0x14021ff0f
mov r15, r9
sub r15, r13
nop dword [rax]
movzx eax, byte [rbx + r15]
cmp byte [rbx], al
jne 0x14021ff1c
mov r8, qword [r15 + rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [rbx - 0x10]
xor ecx, ecx
call fcn.140202900
test eax, eax
jne 0x14021ff1c
inc esi
add rbx, 0x20
cmp esi, dword [r13]
jl 0x14021fee0
mov dword [rbp - 8], 1
jmp 0x14021ff1c
mov word [rdx + 2], di
dec dword [r12 + 0x44]
mov rsi, qword [rsp + 0x58]
mov eax, dword [r12 + 0x44]
mov dword [rsp + 0x7c], eax
test rsi, rsi
je 0x14021ff43
mov edx, 0x40
mov rcx, rsi
call fcn.1401fb500
jmp 0x14021ff4d
mov ecx, 0x40
call fcn.140210f70
mov r15, qword [rbp + 0xf0]
mov r12, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140220007
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov rcx, qword [r15]
test rcx, rcx
je 0x14021ff8b
mov edx, DispGetParam
call fcn.1401fb500
jmp 0x14021ff95
mov ecx, DispGetParam
call fcn.140210f70
mov rcx, rax
test rax, rax
je 0x14021ffc9
mov rax, qword [r15 + 0xb8]
mov qword [rcx], rax
lea rax, [0x1401b6c80]
mov qword [r15 + 0xb8], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r12
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x60], rcx
jmp 0x14022000c
mov rdx, qword [r12 + 0x20]
mov rbx, qword [r15]
test rdx, rdx
je 0x14021ffde
mov rcx, rbx
call fcn.1401fb370
mov rdx, qword [r12 + 0x30]
test rdx, rdx
je 0x14021fff0
mov rcx, rbx
call fcn.1401fb370
mov rdx, r12
mov rcx, rbx
call fcn.1401fb370
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x60], rcx
jmp 0x14022000c
mov rcx, qword [rsp + 0x60]
cmp byte [rsi + 0x67], dil
jne 0x140221d62
mov rax, qword [rbp + 0xf8]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov eax, dword [rax + 0x10]
mov dword [r12 + 0x3c], eax
mov eax, dword [r15 + 0x38]
inc eax
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], r12
movdqu xmmword [rbp + 0x38], xmm0
movdqu xmmword [rbp + 0x48], xmm1
mov dword [r12 + 0x10], eax
test r13, r13
je 0x140220057
mov eax, dword [r13]
jmp 0x140220059
mov eax, edi
mov dword [r12 + 0xc], eax
mov rax, qword [rbp - 0x78]
mov qword [r12 + 0x18], r13
test rax, rax
je 0x1402200d7
lea rbx, [rax + 8]
mov esi, edi
cmp dword [rax], edi
jle 0x1402200d7
lea r14, [0x1401b7f30]
lea r12, [0x14023acb0]
lea r13, [0x14023aca0]
nop dword [rax + rax]
mov rdx, qword [rbx]
lea rcx, [rbp + 0x20]
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], r13
mov dword [rbp - 0x18], edi
mov qword [rbp - 0x10], rcx
mov qword [rbp - 0x38], rdi
test rdx, rdx
je 0x1402200c0
lea rcx, [rbp - 0x38]
call fcn.140250890
mov rax, qword [rbp - 0x78]
inc esi
add rbx, 0x20
cmp esi, dword [rax]
jl 0x140220090
mov r14, qword [rbp - 0x50]
mov r12, qword [rsp + 0x48]
mov r13, qword [rbp - 0x60]
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14022014b
lea rbx, [rax + 8]
mov esi, edi
cmp dword [rax], edi
jle 0x14022014b
lea r14, [0x1401b7f30]
lea r15, [0x14023acb0]
lea r12, [0x14023aca0]
mov rdx, qword [rbx]
lea rcx, [rbp + 0x20]
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], r12
mov dword [rbp - 0x18], edi
mov qword [rbp - 0x10], rcx
mov qword [rbp - 0x38], rdi
test rdx, rdx
je 0x140220131
lea rcx, [rbp - 0x38]
call fcn.140250890
mov rax, qword [rsp + 0x70]
inc esi
add rbx, 0x20
cmp esi, dword [rax]
jl 0x140220100
mov r14, qword [rbp - 0x50]
mov r12, qword [rsp + 0x48]
mov r15, qword [rbp + 0xf0]
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x1402201dd
test r13, r13
je 0x1402201a1
mov rbx, qword [rbp + 0xf8]
lea rax, [0x1401d36e0]
xorps xmm0, xmm0
mov qword [rbp - 0x18], rdi
movdqu xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x38], r15
mov rdx, qword [rbx + 0x40]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x10], rbx
test rdx, rdx
je 0x140220199
lea rcx, [rbp - 0x38]
call fcn.140250890
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x48], rax
lea rax, [0x1401b7f30]
mov dword [rbp - 0x18], edi
mov qword [rbp - 0x30], rax
mov rdx, rcx
lea rax, [0x14023acb0]
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x38]
lea rax, [0x14023aca0]
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x10], rax
call fcn.140250890
mov r15, qword [rbp + 0xf8]
mov eax, dword [r12 + 0x28]
mov dword [r12 + 0x2c], eax
cmp qword [r15 + 0x38], rdi
jne 0x1402202ff
cmp qword [r15 + 0x40], rdi
jne 0x1402202ff
cmp dword [r12 + 0x38], 1
jne 0x1402202ff
mov rax, qword [r12 + 0x30]
mov r9, qword [rax]
mov r11, qword [r9 + 0x20]
test r11, r11
je 0x1402202ff
cmp dword [r11], 1
jne 0x1402202ff
test dword [r9 + 4], 0x1000000
jne 0x1402202ff
mov rsi, qword [rsp + 0x58]
test dword [rsi + 0x60], 0x10000
jne 0x1402202ff
mov r9, qword [r9 + 8]
lea r10, [0x1402e78dc]
mov r8, r9
sub r10, r9
nop
movzx ecx, byte [r8]
movzx eax, byte [r10 + r8]
cmp ecx, eax
jne 0x14022028a
test ecx, ecx
jne 0x14022029d
mov rcx, qword [r11 + 8]
call fcn.1401fee10
neg eax
mov byte [rbp + 0x108], 1
sbb bl, bl
and bl, 2
jmp 0x1402202ca
lea rbx, [0x1402e1730]
movzx edx, byte [rax + rbx]
movzx ecx, byte [rcx + rbx]
cmp ecx, edx
jne 0x1402202a2
inc r8
jmp 0x140220260
lea r8, [0x1402e78e0]
sub r8, r9
nop dword [rax]
movzx ecx, byte [r9]
movzx eax, byte [r8 + r9]
cmp ecx, eax
jne 0x1402202ee
test ecx, ecx
jne 0x1402202fa
mov bl, 1
mov byte [rbp + 0x108], 2
xor r8d, r8d
mov rdx, r11
mov rcx, rsi
call fcn.1402040d0
mov qword [rbp + 0x60], rax
test rax, rax
je 0x1402202e4
mov byte [rax + 0x18], bl
movzx r13d, byte [rbp + 0x108]
jmp 0x140220309
movzx edx, byte [rax + rbx]
movzx ecx, byte [rcx + rbx]
cmp ecx, edx
jne 0x1402202ff
inc r9
jmp 0x1402202b0
xor r13b, r13b
mov byte [rbp + 0x108], r13b
mov ebx, edi
mov dword [rbp - 0x80], ebx
cmp dword [r12 + 0x38], edi
jle 0x14022043d
mov r14, qword [rsp + 0x48]
mov r12, rdi
mov qword [rbp], rdi
nop word [rax + rax]
mov rax, qword [r14 + 0x30]
mov r13, qword [r12 + rax]
or dword [rbp + 0x48], 0x20000
mov qword [rbp + 8], r13
mov r15, qword [r13 + 0x20]
test r15, r15
je 0x1402203b7
lea rbx, [r15 + 8]
mov esi, edi
cmp dword [r15], edi
jle 0x1402203b4
lea r14, [0x1401b7f30]
lea r13, [0x14023acb0]
lea r12, [0x14023aca0]
nop dword [rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x20]
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r12
mov dword [rbp - 0x18], edi
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x38], rdi
test rdx, rdx
je 0x14022039c
lea rcx, [rbp - 0x38]
call fcn.140250890
inc esi
add rbx, 0x20
cmp esi, dword [r15]
jl 0x140220370
mov r13, qword [rbp + 8]
mov r12, qword [rbp]
mov r14, qword [rsp + 0x48]
mov ebx, dword [rbp - 0x80]
test dword [r13 + 4], 0x1000000
je 0x140220407
mov rax, qword [r13 + 0x40]
mov dword [rbp - 0x18], edi
mov qword [rbp - 0x38], rdi
mov rdx, qword [rax + 0x48]
lea rax, [0x1401b7f30]
mov qword [rbp - 0x30], rax
lea rax, [0x14023acb0]
mov qword [rbp - 0x28], rax
lea rax, [0x14023aca0]
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x10], rax
test rdx, rdx
je 0x140220407
lea rcx, [rbp - 0x38]
call fcn.140250890
and dword [rbp + 0x48], 0xfffdffff
inc ebx
add r12, 0x20
mov dword [rbp - 0x80], ebx
mov qword [rbp], r12
cmp ebx, dword [r14 + 0x38]
jl 0x140220330
mov r14, qword [rbp - 0x50]
movzx r13d, byte [rbp + 0x108]
mov r12, qword [rsp + 0x48]
mov r15, qword [rbp + 0xf8]
mov r10, qword [rbp + 0xf0]
mov r11, qword [rsp + 0x58]
mov eax, dword [r10 + 0x38]
mov dword [r12 + 0x14], eax
cmp byte [r11 + 0x67], dil
jne 0x140220841
mov rsi, qword [rbp - 0x60]
test rsi, rsi
je 0x1402215a8
cmp dword [r12 + 0x38], 1
mov r15, rdi
mov qword [rbp], rdi
mov word [rbp + 0x108], di
jne 0x14022057c
mov rax, qword [r12 + 0x30]
cmp dword [rax + 0x14], edi
jl 0x14022057c
mov rax, qword [rax]
test rax, rax
je 0x14022057c
test dword [rax + 4], 0x1000
jne 0x14022057c
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14022057c
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x1402204d8
xor r9d, r9d
xor r8d, r8d
mov rcx, r11
call fcn.1401ca270
mov r11, qword [rsp + 0x58]
mov rbx, rax
jmp 0x1402204db
mov rbx, rdi
xor r8d, r8d
mov rdx, rsi
mov rcx, r11
call fcn.1402040d0
mov qword [rbp], rax
mov r15, rax
test rax, rax
jne 0x140220510
mov rax, qword [rbp + 0xf0]
mov rdx, rbx
mov rcx, qword [rax]
call fcn.140203d10
mov r15, rax
mov qword [rbp], rax
jmp 0x140220560
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [r15 + 4], ecx
jge 0x14022053a
mov rax, qword [rbp + 0xf0]
mov r8, rbx
mov rdx, r15
mov rcx, qword [rax]
call fcn.140203c20
mov r15, rax
mov qword [rbp], rax
jmp 0x140220560
movups xmm0, xmmword [0x1402e2420]
shl rax, 5
movups xmm1, xmmword [0x1402e2430]
mov dword [r15], ecx
movups xmmword [rax + r15 + 8], xmm0
movups xmmword [rax + r15 + 0x18], xmm1
mov qword [rax + r15 + 8], rbx
mov r10, qword [rbp + 0xf0]
mov rax, r15
neg rax
sbb bx, bx
and bx, 0x500
mov word [rbp + 0x108], bx
mov eax, dword [r10 + 0x34]
xor r8d, r8d
mov dword [r12 + 4], eax
mov rdx, rsi
inc dword [r10 + 0x34]
mov rcx, r10
mov r9d, dword [r12 + 0x28]
call fcn.14020fb10
mov r12, rax
mov qword [rbp + 8], rax
mov rax, qword [rsp + 0x48]
lea rsi, [r14 + 0x90]
movsxd r9, dword [rsi]
mov dword [rbp - 0x50], r9d
mov edx, dword [rax + 0xc]
mov r8d, dword [rax + 4]
cmp dword [r14 + 0x94], r9d
jg 0x1402205e2
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x77
mov rcx, r14
call fcn.1401d32a0
mov r9d, eax
mov dword [rbp - 0x50], eax
jmp 0x14022060c
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [rsi], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x77
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [r14]
mov eax, r9d
cmp byte [rcx + 0x67], dil
je 0x14022063c
cmp qword [rcx + 0x300], rdi
jne 0x14022067d
test r12, r12
je 0x14022067d
add dword [r12], 0xffffffff
jne 0x14022067d
mov rcx, qword [r12 + 0x10]
mov rdx, r12
call fcn.1401fb370
jmp 0x14022067d
test r9d, r9d
jns 0x140220645
mov eax, dword [rsi]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
cmp byte [rax + rcx*8 + 1], dil
lea rdx, [rax + rcx*8]
je 0x140220670
mov r9d, 0xfffffff8
mov r8, r12
mov rcx, r14
call fcn.140249ac0
jmp 0x14022067d
test r12, r12
je 0x14022067d
mov qword [rdx + 0x10], r12
mov byte [rdx + 1], 0xf8
mov r9, qword [rbp + 0xf0]
mov r8, qword [rbp - 0x60]
mov eax, dword [r9 + 0x38]
inc eax
mov dword [rbp - 0x68], eax
lea edx, [rax + 1]
mov eax, dword [r9 + 0x44]
lea ecx, [rdx + 2]
mov dword [rbp - 0x6c], edx
mov dword [r9 + 0x38], ecx
lea ebx, [rcx + 1]
dec eax
mov dword [rsp + 0x78], ecx
mov dword [rbp - 0x80], eax
lea r13d, [rax - 1]
mov dword [r9 + 0x44], r13d
add ecx, dword [r8]
mov dword [r9 + 0x38], ecx
mov dword [rsp + 0x50], r13d
lea eax, [rcx + 1]
add ecx, dword [r8]
mov dword [r9 + 0x38], ecx
movsxd rcx, dword [rsi]
mov dword [rbp - 0x70], eax
cmp dword [r14 + 0x94], ecx
jg 0x1402206f7
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, edx
mov rcx, r14
lea edx, [r8 + 0x47]
call fcn.1401d32a0
mov r8, qword [rbp - 0x60]
jmp 0x14022071c
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], VarR8FromUI1
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov edx, dword [r8]
movsxd rcx, dword [rsi]
dec edx
add edx, ebx
cmp dword [r14 + 0x94], ecx
jg 0x140220747
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov rcx, r14
lea edx, [r8 + 0x4b]
call fcn.1401d32a0
jmp 0x14022076c
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], VarR8FromUI1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x140220793
mov r8d, dword [rsp + 0x78]
mov r9d, r13d
mov edx, 9
mov dword [rsp + 0x20], edi
mov rcx, r14
call fcn.1401d32a0
jmp 0x1402207c0
mov edx, dword [rsp + 0x78]
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov eax, dword [rbp - 8]
mov edx, 0x80
movzx r13d, byte [rsp + 0x40]
neg eax
mov rbx, qword [rbp - 0x60]
mov eax, 0x40
mov r8, qword [rbp - 0x48]
sbb cx, cx
and cx, 0x200
mov dword [rsp + 0x38], edi
cmp r13b, 2
mov r9, rbx
cmove ax, dx
mov rdx, qword [rsp + 0x60]
or cx, ax
or cx, word [rbp + 0x108]
mov word [rsp + 0x30], cx
mov rcx, qword [rbp + 0xf0]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r15
call fcn.14023acc0
mov qword [rbp - 0x48], rax
mov rcx, rax
test rax, rax
jne 0x14022086a
test r15, r15
je 0x14022083c
mov rcx, qword [rsp + 0x58]
mov rdx, r15
call fcn.1401cab80
mov r11, qword [rsp + 0x58]
mov r12, qword [rbp + 0xf0]
mov esi, 1
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x140221d6e
mov rdx, rax
mov rcx, r11
call fcn.1401cab80
jmp 0x140221d6e
movzx eax, byte [rax + 0x4b]
mov dword [rbp - 0x64], eax
movsx eax, byte [rcx + 0x49]
cmp eax, dword [rbx]
jne 0x140220885
mov r15d, edi
mov dword [rsp + 0x60], edi
jmp 0x140220c33
test r13b, r13b
je 0x14022089e
mov rax, qword [rbp + 0xf8]
lea r9, str.DISTINCT
test byte [rax + 4], 1
je 0x1402208a5
lea r9, str.GROUP_BY
mov r15, qword [rbp + 0xf0]
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r15
xor edx, edx
call fcn.140234110
mov edx, dword [rbx]
mov r13d, edx
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x70], edx
mov dword [rbp - 0x7c], edx
mov eax, dword [rcx + 0x28]
test eax, eax
jle 0x140220917
mov r8, qword [rcx + 0x20]
mov r9d, eax
add r8, 0x1a
nop dword [rax + rax]
movsx ecx, word [r8]
lea eax, [r13 + 1]
cmp ecx, edx
lea r8, [r8 + 0x20]
cmovl eax, r13d
mov r13d, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x1402208f0
mov dword [rbp - 0x7c], r13d
cmp r13d, 1
jne 0x14022094d
movzx eax, byte [r15 + 0x1f]
lea rbx, [r15 + 0x1f]
test al, al
jne 0x140220938
inc dword [r15 + 0x38]
mov eax, dword [r15 + 0x38]
mov dword [rsp + 0x44], eax
jmp 0x140220985
dec al
movzx eax, al
mov byte [rbx], al
mov eax, dword [r15 + rax*4 + 0xd8]
mov dword [rsp + 0x44], eax
jmp 0x140220985
mov ecx, dword [r15 + 0x28]
mov edx, dword [r15 + 0x2c]
mov dword [rsp + 0x44], edx
cmp r13d, ecx
jg 0x14022096f
lea eax, [rdx + r13]
sub ecx, r13d
mov dword [r15 + 0x2c], eax
mov dword [r15 + 0x28], ecx
jmp 0x140220981
mov eax, dword [r15 + 0x38]
lea ecx, [rax + 1]
add eax, r13d
mov dword [r15 + 0x38], eax
mov dword [rsp + 0x44], ecx
lea rbx, [r15 + 0x1f]
mov r8d, dword [rsp + 0x44]
xor r9d, r9d
mov rdx, qword [rbp - 0x60]
mov rcx, r15
mov byte [rsp + 0x20], dil
call fcn.1401fefe0
mov rcx, qword [rsp + 0x48]
mov r12d, edi
cmp dword [rcx + 0x28], edi
jle 0x140220a1e
mov esi, dword [rsp + 0x70]
mov r15, rdi
mov edi, dword [rsp + 0x44]
mov r13, qword [rbp + 0xf0]
nop dword [rax]
mov rdx, qword [rcx + 0x20]
add rdx, r15
movsx eax, word [rdx + 0x1a]
cmp eax, esi
jl 0x1402209f6
movsx r9d, word [rdx + 0x18]
lea eax, [rdi + rsi]
mov r8d, dword [rdx + 0x10]
mov rcx, r14
mov rdx, qword [rdx]
mov dword [rsp + 0x20], eax
call fcn.1401ff510
mov rcx, qword [rsp + 0x48]
inc esi
mov rax, rbx
jmp 0x1402209fa
lea rax, [r13 + 0x1f]
inc r12d
add r15, 0x20
cmp r12d, dword [rcx + 0x28]
jl 0x1402209c0
mov r13d, dword [rbp - 0x7c]
lea rsi, [r14 + 0x90]
mov r15, qword [rbp + 0xf0]
mov rbx, rax
xor edi, edi
movzx eax, byte [rbx]
test al, al
jne 0x140220a2f
inc dword [r15 + 0x38]
mov r15d, dword [r15 + 0x38]
jmp 0x140220a3e
dec al
movzx eax, al
mov byte [rbx], al
mov r15d, dword [r15 + rax*4 + 0xd8]
movsxd rcx, dword [rsi]
mov r12d, dword [rsp + 0x44]
cmp dword [r14 + 0x94], ecx
jg 0x140220a69
mov r9d, r13d
mov dword [rsp + 0x20], r15d
mov r8d, r12d
mov edx, 0x61
mov rcx, r14
call fcn.1401d32a0
jmp 0x140220a94
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], rdi
mov r8, qword [rsp + 0x48]
movsxd rcx, dword [rsi]
mov edx, dword [r8 + 4]
cmp dword [r14 + 0x94], ecx
jg 0x140220ac2
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x8b
mov r9d, r15d
mov rcx, r14
call fcn.1401d32a0
jmp 0x140220aeb
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x8b
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [rbp + 0xf0]
test r15d, r15d
je 0x140220b08
movzx eax, byte [rbx]
cmp al, 8
jae 0x140220b08
mov dword [rcx + rax*4 + 0xd8], r15d
inc byte [rbx]
cmp r13d, 1
jne 0x140220b26
test r12d, r12d
je 0x140220b34
movzx eax, byte [rbx]
cmp al, 8
jae 0x140220b34
mov dword [rcx + rax*4 + 0xd8], r12d
inc byte [rbx]
jmp 0x140220b34
cmp r13d, dword [rcx + 0x28]
jle 0x140220b34
mov dword [rcx + 0x28], r13d
mov dword [rcx + 0x2c], r12d
mov rcx, qword [rbp - 0x48]
call fcn.14023ec30
mov rcx, qword [rbp + 0xf0]
mov r15, qword [rsp + 0x48]
mov edx, dword [rcx + 0x34]
mov dword [r15 + 8], edx
inc dword [rcx + 0x34]
movzx eax, byte [rbx]
mov dword [rsp + 0x44], edx
test al, al
jne 0x140220b67
inc dword [rcx + 0x38]
mov r8d, dword [rcx + 0x38]
jmp 0x140220b76
dec al
movzx eax, al
mov byte [rbx], al
mov r8d, dword [rcx + rax*4 + 0xd8]
movsxd rcx, dword [rsi]
mov dword [rbp - 0x7c], r8d
cmp dword [r14 + 0x94], ecx
jg 0x140220ba0
mov r9d, r8d
mov dword [rsp + 0x20], r13d
mov r8d, edx
mov rcx, r14
mov edx, 0x79
call fcn.1401d32a0
jmp 0x140220bca
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x79
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi]
mov edx, dword [r15 + 4]
cmp dword [r14 + 0x94], ecx
jg 0x140220bf5
mov r9d, dword [rsp + 0x7c]
mov r8d, edx
mov edx, 0x21
mov dword [rsp + 0x20], edi
mov rcx, r14
call fcn.1401d32a0
jmp 0x140220c21
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x7c]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x21
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov r12, qword [rbp + 8]
mov rcx, qword [rbp - 0x48]
mov byte [r15 + 1], 1
mov r15d, dword [rsp + 0x60]
cmp dword [rbp - 8], 0
je 0x140220c87
mov rax, qword [rsp + 0x58]
test byte [rax + 0x60], 4
jne 0x140220c87
test r15d, r15d
jne 0x140220c4f
test byte [rcx + 0x4c], 8
je 0x140220c87
mov rcx, qword [r14]
mov qword [rbp + 0x68], rdi
cmp byte [rcx + 0x67], 0
jne 0x140220c87
movsxd rax, dword [rbp - 0x58]
lea rdx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.1401d0580
mov word [rbx], VarDecFix
mov qword [rbx + 0x10], rdi
movsxd r13, dword [rsi]
mov r9, qword [rsp + 0x48]
mov dword [rsp + 0x70], r13d
test r15d, r15d
je 0x140220cc7
mov edx, dword [r9 + 4]
cmp dword [r14 + 0x94], r13d
jg 0x140220d23
mov eax, dword [rsp + 0x44]
mov r8d, edx
mov r9d, dword [rbp - 0x7c]
mov edx, 0x85
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.1401d32a0
mov r9, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov rax, qword [rbp - 0x60]
mov ebx, edi
cmp dword [rax], 0
jle 0x140220dc8
mov r12d, dword [rsp + 0x60]
lea r15, [rax + 8]
mov r13d, dword [rbp - 0x70]
nop word [rax + rax]
lea r8d, [rbx + r13]
test r12d, r12d
je 0x140220d8c
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x140220d61
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, r14
mov edx, 0x5e
call fcn.1401d32a0
jmp 0x140220d9f
mov r8d, dword [rbp - 0x7c]
lea eax, [r13 + 1]
mov dword [rsi], eax
lea rcx, [r13*2]
mov rax, qword [r14 + 0x88]
add rcx, r13
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x44]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x85
mov dword [rax + rcx*8 + 8], r8d
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x140220ccb
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x140220da3
mov rcx, qword [rbp + 0xf0]
mov byte [r9], 1
mov rdx, qword [r15]
call fcn.1401fef80
mov edx, dword [rsp + 0x44]
mov rax, qword [rbp - 0x60]
inc ebx
mov r9, qword [rsp + 0x48]
add r15, 0x20
cmp ebx, dword [rax]
jl 0x140220cf0
mov r13d, dword [rsp + 0x70]
mov r12, qword [rbp + 8]
mov r15d, dword [rsp + 0x60]
test r12, r12
je 0x140220dd1
inc dword [r12]
movsxd rdx, dword [rsi]
mov r8d, dword [rax]
cmp dword [r14 + 0x94], edx
jg 0x140220e02
mov r9d, dword [rbp - 0x70]
mov edx, 0x5a
mov dword [rsp + 0x20], r8d
mov rcx, r14
mov r8d, dword [rsp + 0x78]
inc r8d
call fcn.1401d32a0
mov edx, eax
jmp 0x140220e39
mov r9d, dword [rsp + 0x78]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
inc r9d
mov dword [rsi], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 4], r9d
mov r9d, dword [rbp - 0x70]
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8], 0x5a
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
je 0x140220e67
cmp qword [rax + 0x300], 0
jne 0x140220ea8
test r12, r12
je 0x140220ea8
add dword [r12], 0xffffffff
jne 0x140220ea8
mov rcx, qword [r12 + 0x10]
mov rdx, r12
call fcn.1401fb370
jmp 0x140220ea8
test edx, edx
jns 0x140220e6f
mov edx, dword [rsi]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x140220e9b
mov r9d, 0xfffffff8
mov r8, r12
mov rcx, r14
call fcn.140249ac0
jmp 0x140220ea8
test r12, r12
je 0x140220ea8
mov qword [rdx + 0x10], r12
mov byte [rdx + 1], 0xf8
movsxd rbx, dword [rsi]
lea edx, [rbx + 1]
cmp dword [r14 + 0x94], ebx
jg 0x140220ecf
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, r14
lea edx, [r9 + 0xd]
call fcn.1401d32a0
jmp 0x140220ef4
mov rax, qword [r14 + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [rsi], edx
mov dword [rax + rcx*8], SafeArrayGetLBound
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x70]
mov edx, dword [rax]
mov rax, qword [rbp + 0xf0]
mov r10, qword [rax + 0x10]
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x140220f34
mov r9d, dword [rsp + 0x78]
mov rcx, r10
mov dword [rsp + 0x20], edx
inc r9d
mov edx, 0x4f
call fcn.1401d32a0
jmp 0x140220f6b
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 + 0x78]
inc r8d
mov dword [rax + rcx*8], 0x4f
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x140220f9c
mov r12d, dword [rbp - 0x6c]
mov edx, 9
mov r9d, dword [rbp - 0x80]
inc r12d
mov r8d, r12d
mov dword [rsp + 0x20], edi
mov rcx, r14
call fcn.1401d32a0
mov r8d, dword [rbp - 0x6c]
jmp 0x140220fd0
mov r8d, dword [rbp - 0x6c]
lea eax, [rcx + 1]
mov edx, dword [rbp - 0x80]
lea rcx, [rcx + rcx*2]
mov dword [rsi], eax
mov rax, qword [r14 + 0x88]
lea r12d, [r8 + 1]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x140220ff4
mov r9d, dword [rsp + 0x7c]
mov edx, 0x31
mov rcx, r14
mov dword [rsp + 0x20], edi
call fcn.1401d32a0
jmp 0x140221021
mov edx, dword [rsp + 0x7c]
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x31
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x14022104a
mov r9d, dword [rsp + 0x50]
lea r8d, [r12 + 1]
mov edx, 9
mov dword [rsp + 0x20], edi
mov rcx, r14
call fcn.1401d32a0
jmp 0x14022107b
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
lea edx, [r12 + 1]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x50]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [r14]
mov edx, dword [rsi]
cmp byte [rax + 0x67], 0
je 0x14022108f
lea rax, [0x14037eae0]
jmp 0x1402210a8
lea eax, [rdx - 1]
test ebx, ebx
cmovns eax, ebx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
mov ebx, dword [rbp - 0x68]
mov r9d, dword [rbp - 0x64]
mov r8, qword [rsp + 0x48]
mov rcx, qword [rbp + 0xf0]
mov dword [rax + 8], edx
mov edx, ebx
call fcn.1402478c0
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x1402210eb
mov edx, 0x47
mov dword [rsp + 0x20], edi
mov r9d, ebx
mov rcx, r14
lea r8d, [rdx - 0x46]
call fcn.1401d32a0
jmp 0x140221117
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], VarR8FromUI1
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
test r15d, r15d
je 0x140221174
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rsi]
mov edx, dword [rax + 4]
cmp dword [r14 + 0x94], ecx
jg 0x140221149
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x24
mov r9d, r13d
mov rcx, r14
call fcn.1401d32a0
jmp 0x1402211b1
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x1402211b1
mov rcx, qword [rbp - 0x48]
call fcn.14023ec30
mov rcx, qword [r14]
cmp byte [rcx + 0x67], 0
jne 0x1402211b1
movsxd rax, dword [rbp - 0x50]
lea rdx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.1401d0580
mov word [rbx], VarDecFix
mov qword [rbx + 0x10], rdi
mov rdx, qword [rbp]
test rdx, rdx
je 0x1402211c4
mov rcx, qword [rsp + 0x58]
call fcn.1401cab80
movsxd rcx, dword [rsi]
mov r15d, dword [rbp - 0x80]
cmp dword [r14 + 0x94], ecx
jg 0x1402211ed
mov r9d, r15d
mov dword [rsp + 0x20], edi
mov r8d, r12d
mov edx, 9
mov rcx, r14
call fcn.1401d32a0
jmp 0x140221217
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x14022123d
mov r9d, dword [rsp + 0x7c]
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], edi
lea edx, [r8 + 8]
call fcn.1401d32a0
jmp 0x140221266
mov edx, dword [rsp + 0x7c]
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 8
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd r13, dword [rsi]
cmp dword [r14 + 0x94], r13d
jg 0x14022128d
mov r9d, dword [rbp - 0x6c]
mov edx, 0x47
mov rcx, r14
mov dword [rsp + 0x20], edi
lea r8d, [rdx - 0x46]
call fcn.1401d32a0
jmp 0x1402212c4
mov edx, dword [rbp - 0x6c]
lea eax, [r13 + 1]
mov dword [rsi], eax
lea rcx, [r13*2]
mov rax, qword [r14 + 0x88]
add rcx, r13
mov dword [rax + rcx*8], VarR8FromUI1
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x1402212e8
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x43]
call fcn.1401d32a0
jmp 0x140221312
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [r14 + 0x18]
lea rbx, [r14 + 0x18]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x140221332
mov r8d, r15d
mov rdx, r14
call fcn.1401e6d90
jmp 0x14022133f
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi]
movsxd r8, r15d
mov dword [rcx + r8*4], eax
movsxd rax, dword [rsi]
lea r8d, [rax + 2]
lea r15d, [rax + 1]
cmp dword [r14 + 0x94], eax
jg 0x14022136d
mov r9d, r8d
mov dword [rsp + 0x20], edi
mov r8d, dword [rbp - 0x68]
mov edx, 0x31
mov rcx, r14
call fcn.1401d32a0
jmp 0x140221397
mov edx, dword [rbp - 0x68]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov dword [rsi], r15d
mov dword [rax + rcx*8], 0x31
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x1402213bb
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x43]
call fcn.1401d32a0
jmp 0x1402213e5
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rbp + 0xf0]
call fcn.1401cbfa0
mov rdx, qword [rbp - 0x40]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, qword [rbp + 0xf0]
mov r8d, r15d
call fcn.140203070
mov rax, qword [rbp + 0x100]
lea r9, [rbp + 0x68]
mov rdx, qword [rbp + 0xf8]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], r13d
mov r13, qword [rbp + 0xf0]
mov dword [rsp + 0x30], r15d
mov rcx, r13
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1401ead90
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x140221472
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x43]
call fcn.1401d32a0
jmp 0x14022149c
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [rbx]
mov edx, dword [rsp + 0x50]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1402214ba
mov r8d, edx
mov rdx, r14
call fcn.1401e6d90
jmp 0x1402214c7
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi]
movsxd r8, edx
mov dword [rcx + r8*4], eax
mov r15, qword [rsp + 0x48]
mov rcx, r13
mov rdx, r15
call fcn.1401e6ab0
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x1402214fc
mov r9d, dword [rbp - 0x68]
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], edi
lea edx, [r8 + 0x47]
call fcn.1401d32a0
jmp 0x140221524
mov edx, dword [rbp - 0x68]
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], VarR8FromUI1
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x14022154a
mov r8d, dword [rsp + 0x78]
xor r9d, r9d
mov rcx, r14
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x43]
call fcn.1401d32a0
jmp 0x140221577
mov edx, dword [rsp + 0x78]
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
cmp word [rbp + 0x108], 0
je 0x14022159e
mov ecx, dword [rbp - 0x64]
test ecx, ecx
je 0x14022159e
mov rax, qword [r15 + 0x30]
mov edx, ecx
mov rcx, r13
mov r9d, dword [rax + 0x18]
mov r8d, dword [rax + 0x14]
call fcn.1401cc460
mov r12d, dword [rsp + 0x7c]
jmp 0x140221c81
cmp qword [r15 + 0x30], rdi
jne 0x14022199b
mov rdx, qword [r15 + 0x20]
cmp dword [rdx], 1
jne 0x14022199b
mov r12, qword [r15 + 0x28]
cmp dword [r12], 1
jne 0x140221996
cmp qword [r12 + 0x30], rdi
jne 0x140221996
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x38], 1
jne 0x140221991
mov r12, qword [r12 + 0x28]
cmp byte [r12 + 0x3f], dil
jne 0x140221991
mov rdx, qword [rdx + 8]
cmp byte [rdx], 0xa8
jne 0x140221991
cmp qword [rdx + 0x38], rax
jne 0x140221991
mov rax, qword [rax + 0x30]
mov rcx, qword [rax + 8]
test dword [rcx + 4], 0x100
je 0x140221996
test dword [rdx + 4], 0x1000004
jne 0x140221996
mov rdx, qword [r12 + 0x60]
mov r15d, 0xffff8000
test rdx, rdx
je 0x140221660
mov rax, qword [r10]
mov r15d, edi
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x140221660
inc r15d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x140221654
mov eax, dword [r10 + 0x34]
mov rcx, r10
mov dword [rsp + 0x50], eax
mov r13, rdi
inc eax
mov rbx, rdi
mov dword [r10 + 0x34], eax
mov eax, dword [r12 + 0x28]
mov dword [rbp + 0x108], eax
mov rax, qword [r10 + 0xa0]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x74]
bt eax, r15d
jb 0x1402216ad
bts eax, r15d
mov dword [rcx + 0x74], eax
cmp r15d, 1
jne 0x1402216b3
call fcn.140211ff0
jmp 0x1402216e7
cmp r15d, 1
je 0x1402216ee
mov rax, qword [r10]
movsxd rdx, r15d
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], bl
je 0x1402216ee
mov rax, qword [r12]
xor r9d, r9d
mov r8d, dword [r12 + 0x28]
mov edx, r15d
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.1401d89b0
mov r10, qword [rbp + 0xf0]
test byte [r12 + 0x30], 0x80
je 0x140221712
mov rbx, qword [r12 + 0x10]
test rbx, rbx
je 0x140221712
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140221712
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140221700
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax + 0x28]
test byte [rax + 0x48], 1
jne 0x14022175f
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x14022175f
nop dword [rax]
test byte [rax + 0x64], 4
jne 0x140221756
movzx ecx, word [rax + 0x5c]
cmp cx, word [r12 + 0x3c]
jge 0x140221756
cmp qword [rax + 0x48], rdi
jne 0x140221756
test rbx, rbx
je 0x140221753
cmp cx, word [rbx + 0x5c]
jge 0x140221756
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140221730
test rbx, rbx
je 0x14022177b
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r10
mov dword [rbp + 0x108], eax
call fcn.14020fbd0
mov r13, rax
lea rsi, [r14 + 0x90]
movsxd rdx, dword [rsi]
cmp dword [r14 + 0x94], edx
jg 0x1402217b3
mov r9d, dword [rbp + 0x108]
mov edx, 0x70
mov dword [rsp + 0x20], r15d
mov rcx, r14
mov r15d, dword [rsp + 0x50]
mov r8d, r15d
call fcn.1401d32a0
mov edx, eax
jmp 0x1402217ef
mov r8d, dword [rsp + 0x50]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rbp + 0x108]
mov dword [rax + rcx*8 + 0xc], r15d
mov r15d, dword [rsp + 0x50]
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8], 0x70
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [r14]
cmp byte [rax + 0x67], dil
jne 0x140221813
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], 1
test r13, r13
je 0x140221877
mov rax, qword [r14]
cmp byte [rax + 0x67], dil
je 0x14022183f
cmp qword [rax + 0x300], rdi
jne 0x140221877
add dword [r13], 0xffffffff
jne 0x140221877
mov rcx, qword [r13 + 0x10]
mov rdx, r13
call fcn.1401fb370
jmp 0x140221877
movsxd rax, dword [rsi]
lea rdx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rdx, [rdx - 3]
cmp byte [rax + rdx*8 + 1], dil
lea rdx, [rax + rdx*8]
je 0x14022186f
mov r9d, 0xfffffff8
mov r8, r13
mov rcx, r14
call fcn.140249ac0
jmp 0x140221877
mov qword [rdx + 0x10], r13
mov byte [rdx + 1], 0xf8
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rsi]
mov rax, qword [rax + 0x30]
mov edx, dword [rax + 0x10]
cmp dword [r14 + 0x94], ecx
jg 0x1402218a8
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x62
mov r8d, r15d
mov rcx, r14
call fcn.1401d32a0
jmp 0x1402218d1
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x62
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi]
cmp dword [r14 + 0x94], ecx
jg 0x1402218f5
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r15d
mov rcx, r14
lea edx, [r9 + 0x7a]
call fcn.1401d32a0
jmp 0x14022191b
lea eax, [rcx + 1]
mov dword [rsi], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov r15, qword [rbp + 0xf0]
cmp byte [r15 + 0x123], 2
jne 0x140221c2e
test rbx, rbx
je 0x140221952
test byte [r12 + 0x30], 0x80
je 0x140221946
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140221952
mov rax, qword [rbx]
lea rcx, [0x140274748]
jmp 0x14022195f
lea rcx, [0x140274748]
mov dword [rbp - 0x64], edi
mov rax, rcx
cmp dword [rbp - 0x64], edi
lea rdx, str._USING_COVERING_INDEX
mov r9, qword [r12]
lea r8, str.SCAN__s_s_s
cmovne rcx, rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor edx, edx
mov rcx, r15
call fcn.140234110
jmp 0x140221c2e
mov r12, rax
jmp 0x14022199b
mov r12, qword [rsp + 0x48]
mov esi, edi
mov r8d, dword [r12 + 0x38]
mov r15, rdi
movzx ebx, di
cmp dword [r12 + 0x2c], edi
je 0x140221a4d
mov edx, edi
test r8d, r8d
jle 0x1402219e1
mov rcx, qword [r12 + 0x30]
nop
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x1402219d6
mov rax, qword [rcx + 8]
test byte [rax + 4], 0x20
jne 0x1402219e1
inc edx
add rcx, 0x20
cmp edx, r8d
jl 0x1402219c0
cmp edx, r8d
jne 0x140221a72
inc dword [r10 + 0x38]
movsxd rcx, dword [r14 + 0x90]
mov esi, dword [r10 + 0x38]
cmp dword [r14 + 0x94], ecx
jg 0x140221a21
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, esi
mov rcx, r14
lea edx, [r8 + 0x47]
call fcn.1401d32a0
mov r10, qword [rbp + 0xf0]
jmp 0x140221a72
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], VarR8FromUI1
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x140221a72
cmp r8d, 1
jne 0x140221a72
mov rax, qword [r12 + 0x30]
cmp dword [rax + 0x14], edi
jl 0x140221a72
mov rax, qword [rax]
mov r15, qword [rax + 0x20]
mov rax, r15
neg rax
sbb bx, bx
and bx, 0x500
mov rdx, r12
mov rcx, r10
call fcn.1401e6ab0
mov r9, qword [rbp + 0x60]
mov r8, qword [rbp - 0x48]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rbp + 0xf0]
mov dword [rsp + 0x38], edi
movzx eax, r13b
or ax, bx
mov word [rsp + 0x30], ax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r15
call fcn.14023acc0
mov rbx, rax
test rax, rax
je 0x14022083c
movzx r15d, byte [rax + 0x4b]
mov r8, r12
mov rcx, qword [rbp + 0xf0]
mov r9d, r15d
mov edx, esi
call fcn.1402478c0
test r15d, r15d
je 0x140221b00
mov rax, qword [r12 + 0x30]
test rax, rax
je 0x140221b00
mov r9d, dword [rax + 0x18]
mov edx, r15d
mov r15, qword [rbp + 0xf0]
mov r8d, dword [rax + 0x14]
mov rcx, r15
call fcn.1401cc460
jmp 0x140221b07
mov r15, qword [rbp + 0xf0]
test esi, esi
je 0x140221b66
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x140221b35
mov edx, 0x47
mov dword [rsp + 0x20], edi
mov r9d, esi
mov rcx, r14
lea r8d, [rdx - 0x46]
call fcn.1401d32a0
jmp 0x140221b66
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], VarR8FromUI1
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
test r13b, r13b
je 0x140221c14
test byte [rbx + 0x4c], 4
je 0x140221c14
cmp byte [rbx + 0x49], dil
je 0x140221c14
movzx edx, byte [rbx + 0x48]
sub rdx, 1
js 0x140221bb7
imul rcx, rdx, 0x70
add rcx, rbx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rcx + 0x3d0]
test byte [rax + 0x38], 4
jne 0x140221be2
sub rcx, 0x70
sub rdx, 1
jns 0x140221ba0
mov edx, dword [rbx + 0x3c]
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x140221bea
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, edx
mov rcx, r14
lea edx, [r8 + 8]
call fcn.1401d32a0
jmp 0x140221c14
mov edx, dword [rcx + 0x380]
jmp 0x140221bba
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8 + 0x10], rdi
mov dword [rax + rcx*8 + 0xc], edi
mov dword [rax + rcx*8 + 8], edx
mov qword [rax + rcx*8], 8
mov rcx, rbx
call fcn.14023ec30
mov rdx, r12
mov rcx, r15
call fcn.1401cbfa0
lea rsi, [r14 + 0x90]
mov r12d, dword [rsp + 0x7c]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rdx, qword [rbp - 0x40]
mov r8d, r12d
mov rcx, r15
mov qword [rbp + 0x68], rdi
call fcn.140203070
mov rax, qword [rbp + 0x100]
xor r9d, r9d
mov rdx, qword [rbp + 0xf8]
mov rcx, r15
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], rax
lea r8d, [r9 - 1]
mov qword [rsp + 0x20], rdi
call fcn.1401ead90
lea rbx, [r14 + 0x18]
mov rcx, qword [rbx]
not r12d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x140221c9c
mov r8d, r12d
mov rdx, r14
call fcn.1401e6d90
jmp 0x140221ca8
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi]
movsxd rdx, r12d
mov dword [rcx + rdx*4], eax
cmp byte [rsp + 0x68], 3
mov r12, qword [rbp + 0xf0]
jne 0x140221cce
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r12
call fcn.140234110
cmp qword [rbp + 0x68], 0
je 0x140221d22
cmp dword [rbp + 0x70], 0
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea r9, str.ORDER_BY
mov rcx, r12
cmovg r9, rax
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
call fcn.140234110
mov rax, qword [rbp + 0x100]
lea r8, [rbp + 0x68]
mov rdx, qword [rbp + 0xf8]
mov rcx, r12
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x78]
mov r9d, dword [rax]
call fcn.1401d14c0
mov rcx, qword [rbx]
mov edx, dword [rbp + 0x58]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x140221d3f
mov r8d, edx
mov rdx, r14
call fcn.1401e6d90
jmp 0x140221d4c
mov r8, qword [rcx + 0x50]
mov eax, dword [rsi]
movsxd r9, edx
mov dword [r8 + r9*4], eax
cmp dword [r12 + 0x30], 0
mov esi, edi
mov r11, qword [rsp + 0x58]
setg sil
jmp 0x14022084d
mov r12, qword [rbp + 0xf0]
mov esi, 1
lea rdx, [0x14037eae0]
mov ecx, dword [r12 + 0x130]
test ecx, ecx
je 0x140221daf
mov r8, qword [r12 + 0x10]
jns 0x140221d91
mov ecx, dword [r8 + 0x90]
dec ecx
mov rax, qword [r8]
cmp byte [rax + 0x67], 0
jne 0x140221dac
movsxd rcx, ecx
lea rdx, [rcx + rcx*2]
mov rcx, qword [r8 + 0x88]
lea rdx, [rcx + rdx*8]
mov edi, dword [rdx + 8]
mov dword [r12 + 0x130], edi
mov eax, esi
jmp 0x14021ee8f
mov eax, esi
jmp 0x14021ee97