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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0xf8]
sub rsp, 0x1f8
mov rsi, rcx
mov ecx, 1
mov rdi, rdx
mov eax, dword [rsi + 0x200]
mov rbx, qword [rsi]
mov qword [rbp + 0x80], rcx
mov dword [rbp - 0x20], eax
mov eax, dword [rsi + 0x204]
mov qword [rbp - 0x80], rbx
mov dword [rsi + 0x200], eax
inc eax
mov dword [rsi + 0x204], eax
test rdx, rdx
je 0x1400627ea
cmp byte [rbx + 0x50], 0
jne 0x1400627ea
cmp dword [rsi + 0x4c], 0
jne 0x1400627ea
lea edx, [rcx + 0x14]
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14003bd30
test eax, eax
je 0x1400609d2
mov eax, 1
add rsp, 0x1f8
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor eax, eax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x130]
cmp byte [rax], 8
ja 0x140060a1b
mov rdx, qword [rdi + 0x48]
mov rcx, rbx
call fcn.14004b160
xor eax, eax
mov qword [rdi + 0x48], rax
mov eax, 0xfffe
and word [rdi + 0xa], ax
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call fcn.140062c90
mov rdx, qword [rdi]
xor eax, eax
cmp dword [rsi + 0x4c], 0
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov rax, qword [rdi + 0x48]
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x40], rax
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], rdx
jne 0x140060abd
cmp byte [rbx + 0x50], 0
jne 0x140060abd
movzx eax, word [rdi + 0xa]
mov rcx, rsi
shr eax, 2
and eax, 1
mov dword [rsp + 0x68], eax
call fcn.140050be0
mov rbx, rax
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140060ab0
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp + 0x130]
cmp dword [rcx], 1
movzx eax, byte [rdx]
jle 0x140060b16
add eax, 0xfffffff6
cmp eax, 1
ja 0x140060b16
lea rdx, str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
mov rcx, rsi
call fcn.140046e00
mov rbx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x70]
mov rax, qword [rsp + 0x78]
mov rdi, qword [rbp + 0x80]
mov ecx, dword [rbp - 0x20]
mov dword [rsi + 0x200], ecx
test edi, edi
jne 0x140060aeb
mov rcx, qword [rbp + 0x130]
cmp byte [rcx], 9
jne 0x140060aeb
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call fcn.140027bd0
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x140062774
cmp qword [rbx + 0x320], 0
je 0x140062744
mov rdx, rcx
mov rcx, rbx
call fcn.14002c560
jmp 0x140062774
xor r8d, r8d
or rcx, 0xffffffffffffffff
mov eax, r8d
mov dword [rbp + 0x138], eax
cmp qword [rdi + 0x50], rax
jne 0x140060bd5
mov rdx, qword [rsp + 0x78]
mov ecx, r8d
mov qword [rbp - 0x48], rcx
nop dword [rax]
cmp eax, dword [rdx]
jge 0x140060bca
imul rdi, rcx, 0x78
add rdi, 8
add rdi, rdx
mov qword [rsp + 0x60], rdi
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140060ede
mov r9d, dword [rdi + 0x30]
test r9d, r9d
je 0x140060c32
test byte [rdi + 0x40], 4
jne 0x140060ede
mov dword [rsp + 0x20], r8d
mov r8d, dword [rdi + 0x34]
mov edx, reloc.COMCTL32.dll_InitCommonControls
mov rcx, rbx
call fcn.140068970
mov rdi, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x48]
xor r8d, r8d
mov eax, dword [rbp + 0x138]
inc rcx
inc eax
cmp qword [rdi + 0x50], 0
mov qword [rbp - 0x48], rcx
mov dword [rbp + 0x138], eax
je 0x140060b40
mov rdx, qword [rbp + 0x130]
or rcx, 0xffffffffffffffff
mov rax, qword [rdi + 0x30]
mov r9, qword [rdi]
mov qword [rbp - 0x58], rax
mov rax, qword [rdi + 0x38]
mov qword [rbp - 0x70], r9
mov qword [rsp + 0x58], rax
mov rax, qword [rdi + 0x40]
mov qword [rbp + 0x78], rax
movzx eax, byte [rdi + 0xa]
and al, 1
cmp qword [rdi + 0x50], 0
mov byte [rbp + 0x138], al
mov byte [rbp + 0x30], al
je 0x140060eea
mov r8, rdx
mov rcx, rsi
mov rdx, rdi
call fcn.14002cd10
mov ecx, dword [rbp - 0x20]
mov dword [rsi + 0x200], ecx
add rsp, 0x1f8
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
lea rdx, [rsp + 0x54]
mov dword [rsp + 0x54], r8d
call fcn.14002a070
mov eax, dword [rsp + 0x54]
mov r9d, dword [rsp + 0x68]
add dword [rsi + 0x1fc], eax
mov rax, qword [rsp + 0x58]
mov r8d, dword [rbp + 0x138]
movzx eax, word [rax + 0xa]
mov rdx, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
mov rcx, rsi
shr eax, 2
and eax, 1
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x20], eax
call fcn.140026970
test eax, eax
je 0x140060cb8
cmp dword [rsp + 0x50], 0
je 0x140060ca3
mov rax, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
mov dword [rsp + 0x68], 1
or word [rax + 0xa], 4
or rax, 0xffffffffffffffff
xor ecx, ecx
mov dword [rbp + 0x138], eax
mov qword [rbp - 0x48], rax
jmp 0x140060e83
mov rax, qword [rsp + 0x78]
cmp dword [rax], 1
jne 0x140060d9d
mov rcx, qword [rbp - 0x80]
mov eax, 0x100
test word [rcx + 0x4c], ax
jne 0x140060d9d
mov r8d, dword [rsi + 0x54]
mov edi, dword [rbx + 0x3c]
mov rax, qword [rsp + 0x60]
inc r8d
xor r9d, r9d
inc edi
mov dword [rsi + 0x54], r8d
lea edx, [r9 + 0x14]
mov rcx, rbx
mov dword [rax + 0x34], r8d
mov dword [rsp + 0x20], edi
call fcn.140068970
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
lea r8, [rbp + 0x60]
mov eax, dword [rcx + 0x34]
mov dword [rcx + 0x30], edi
mov word [rbp + 0x60], InitCommonControls
mov dword [rbp + 0x64], eax
xor eax, eax
mov qword [rbp + 0x68], rax
movzx eax, byte [rsi + 0x204]
mov byte [rcx + 0x44], al
mov rcx, rsi
call fcn.140060930
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x20]
call fcn.1400548d0
mov rdx, qword [rsp + 0x60]
xor r9d, r9d
mov rcx, qword [rdx + 0x20]
mov word [rcx + 0x38], ax
or dword [rdx + 0x40], 4
mov eax, dword [rbp + 0x68]
mov r8d, dword [rdx + 0x34]
mov dword [rdx + 0x38], eax
xor eax, eax
lea edx, [rax + 0x15]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140068970
mov edx, dword [rbx + 0x3c]
dec edi
cmp edx, edi
jbe 0x140060d8c
mov rax, qword [rbx + 8]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
jmp 0x140060e7b
mov r9d, dword [rsi + 0x54]
xor ecx, ecx
xor r8d, r8d
inc r9d
lea edx, [rcx + 0x19]
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x20], ecx
mov dword [rsi + 0x54], r9d
mov rcx, rbx
mov dword [rdi + 0x34], r9d
call fcn.140068970
test byte [rdi + 0x40], 2
lea ecx, [rax + 1]
mov dword [rsp + 0x50], eax
mov dword [rdi + 0x30], ecx
jne 0x140060de0
mov rcx, rsi
call fcn.140041d60
mov dword [rsp + 0x54], eax
mov ecx, dword [rdi + 0x48]
mov rdx, qword [rsp + 0x58]
xor eax, eax
mov dword [rbp + 0x64], ecx
movzx ecx, byte [rsi + 0x204]
mov word [rbp + 0x60], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov qword [rbp + 0x68], rax
mov byte [rdi + 0x44], cl
lea r8, [rbp + 0x60]
mov rcx, rsi
call fcn.140060930
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x20]
call fcn.1400548d0
mov rcx, qword [rdi + 0x20]
mov word [rcx + 0x38], ax
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x140060e4a
mov edx, dword [rbx + 0x3c]
cmp edx, eax
jbe 0x140060e3e
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov r8d, dword [rdi + 0x34]
xor eax, eax
xor r9d, r9d
lea edx, [rax + 0x12]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140068970
mov r8d, eax
mov eax, dword [rsp + 0x50]
cmp dword [rbx + 0x3c], eax
jbe 0x140060e7b
mov rcx, qword [rbx + 8]
lea rdx, [rax + rax*2]
mov dword [rcx + rdx*8 + 4], r8d
xor ecx, ecx
mov dword [rsi + 0x44], ecx
mov byte [rsi + 0x1f], cl
mov rax, qword [rbp - 0x80]
cmp byte [rax + 0x50], 0
jne 0x14006273c
mov rdi, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
mov dword [rsp + 0x54], ecx
lea rdx, [rsp + 0x54]
mov rcx, rdi
call fcn.14002a070
mov edx, dword [rsp + 0x54]
mov rax, qword [rbp + 0x130]
sub dword [rsi + 0x1fc], edx
cmp byte [rax], 8
mov rdx, qword [rdi + 0x28]
mov qword [rsp + 0x78], rdx
jbe 0x140060ba3
mov rax, qword [rdi + 0x48]
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x40], rax
jmp 0x140060ba3
mov rdi, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
jmp 0x140060baa
movzx eax, byte [rdi + 0xa]
and al, 5
cmp al, 1
jne 0x140060fc5
mov r8d, ecx
mov rcx, qword [rsp + 0x70]
mov rdx, r9
call fcn.14004b090
test eax, eax
jne 0x140060fc5
mov rdx, qword [rdi]
mov rcx, qword [rbp - 0x80]
mov eax, 0xfffe
and word [rdi + 0xa], ax
xor r8d, r8d
call fcn.14004b320
mov qword [rsp + 0x58], rax
mov qword [rdi + 0x38], rax
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x40], rax
or eax, 0xffffffff
mov dword [rbp - 0x68], eax
mov dword [rbp + 0x58], eax
mov rax, qword [rbp + 0x130]
cmp byte [rax], 0xc
jne 0x140060f6f
mov rcx, qword [rbp - 0x70]
mov r8d, dword [rax + 4]
xor edx, edx
mov r9d, dword [rcx]
mov dword [rsp + 0x20], edx
mov edx, 0x39
mov rcx, rbx
call fcn.140068970
mov rcx, rbx
call fcn.1400704f0
movabs rcx, 0x7fffffffffffffff
mov rdx, rdi
mov qword [rdi + 0x20], rcx
mov r8d, eax
mov rcx, rsi
mov dword [rbp - 0x48], eax
call fcn.14001e290
cmp dword [rdi + 0xc], 0
jne 0x1400610ba
movsxd rax, dword [rbp - 0x68]
test eax, eax
js 0x1400610ba
mov rcx, qword [rbx]
cmp byte [rcx + 0x50], 0
je 0x1400610a7
lea rax, [0x140466ed8]
jmp 0x1400610b3
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x140060f3c
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, rsi
call fcn.14002b2e0
mov r8d, dword [rsi + 0x50]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp - 0x70]
lea ecx, [r8 + 1]
mov dword [rsi + 0x50], ecx
mov edx, dword [rax]
mov rax, qword [rsp + 0x70]
mov r9d, dword [rax]
inc edx
xor eax, eax
add r9d, edx
lea edx, [rax + 0x39]
mov rcx, rbx
mov dword [rbp + 0x4c], r8d
mov dword [rsp + 0x20], eax
call fcn.140068970
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rbp - 0x68], eax
test r8, r8
je 0x140061090
cmp byte [rcx + 0x50], 0
jne 0x140061090
test eax, eax
jns 0x14006103a
mov eax, dword [rbx + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea r8, [r8 + rdx*8]
mov qword [rbp - 0x28], r8
movsx edx, byte [r8 + 1]
mov r8, qword [r8 + 0x10]
call fcn.140027190
mov rax, qword [rbp - 0x28]
mov r8, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rax + 0x10], rcx
test r8, r8
jne 0x140061079
mov qword [rax + 0x10], rcx
mov byte [rax + 1], cl
mov eax, dword [rbp - 0x68]
jmp 0x140060f42
mov qword [rax + 0x10], r8
mov byte [rax + 1], 0xfa
mov eax, dword [rbp - 0x68]
jmp 0x140060f42
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140027190
mov eax, dword [rbp - 0x68]
jmp 0x140060f42
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rax, [rax + rcx*8]
or byte [rbp + 0x5c], 1
mov byte [rax], 0x3a
test byte [rdi + 0xa], 1
je 0x1400611a7
mov edi, dword [rsi + 0x50]
xor r9d, r9d
xor r8d, r8d
lea eax, [rdi + 1]
mov rcx, rsi
mov dword [rbp + 0x34], edi
mov dword [rsi + 0x50], eax
mov rax, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
mov rdx, qword [rax]
call fcn.14002b2e0
xor r9d, r9d
mov r8d, edi
mov qword [rsp + 0x60], rax
xor eax, eax
mov rcx, rbx
lea edx, [rax + 0x39]
mov dword [rsp + 0x20], eax
call fcn.140068970
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rsp + 0x50], eax
mov edx, eax
test r8, r8
je 0x140061170
cmp byte [rcx + 0x50], 0
jne 0x140061170
test eax, eax
jns 0x140061125
mov edx, dword [rbx + 0x3c]
dec edx
movsxd rax, edx
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140027190
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rdi + 0x10], rcx
test rax, rax
jne 0x140061158
mov qword [rdi + 0x10], rcx
mov byte [rdi + 1], cl
jmp 0x14006117f
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xfa
jmp 0x14006117f
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140027190
mov rdx, qword [rbx + 8]
mov eax, dword [rsp + 0x50]
mov dword [rbp + 0x38], eax
test rdx, rdx
je 0x14006119c
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
mov rdi, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
mov al, 3
jmp 0x1400611a9
xor al, al
cmp dword [rsp + 0x68], 0
mov r9, qword [rsp + 0x58]
mov byte [rbp + 0x31], al
mov dword [rbp - 0x4c], eax
jne 0x1400612d7
test r9, r9
jne 0x1400612d7
movzx eax, byte [rbp + 0x138]
mov r9, qword [rsp + 0x70]
mov r8, qword [rbp - 0x58]
mov rdx, qword [rsp + 0x78]
neg al
sbb cx, cx
xor eax, eax
mov dword [rsp + 0x30], eax
mov rax, qword [rdi]
and cx, 0x400
mov word [rsp + 0x28], cx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1400753b0
mov r9, rax
mov qword [rbp + reloc.mfc120u.dll_Ordinal_296], rax
test rax, rax
je 0x140060ab0
movzx ecx, word [rax + 0x30]
call fcn.1400549e0
cmp rax, qword [rdi + 0x20]
jae 0x140061228
mov qword [rdi + 0x20], rax
cmp byte [rbp + 0x138], 0
je 0x140061247
movzx eax, byte [r9 + 0x38]
mov ecx, dword [rbp - 0x4c]
movzx ecx, cl
test al, al
cmovne ecx, eax
mov dword [rbp - 0x4c], ecx
mov byte [rbp + 0x31], cl
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140061268
movsx eax, byte [r9 + 0x34]
cmp eax, dword [rcx]
mov dword [rbp + 0x48], eax
mov eax, 0
cmove rcx, rax
mov qword [rbp + 0x40], rcx
mov eax, dword [rbp - 0x68]
test eax, eax
js 0x140061285
test rcx, rcx
jne 0x140061285
mov edx, eax
mov rcx, rbx
call fcn.140068dd0
mov r9, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
mov eax, dword [r9 + 0x44]
mov r8, qword [rbp - 0x70]
mov rdx, rdi
mov dword [rsp + 0x40], eax
mov eax, dword [r9 + 0x40]
or r9d, 0xffffffff
mov dword [rsp + 0x38], eax
mov rax, qword [rbp + 0x130]
mov rcx, rsi
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.140038640
mov rcx, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
call fcn.140075e20
jmp 0x1400626a8
xor r8d, r8d
mov dword [rbp - 0x5c], r8d
mov dword [rbp - 0x78], r8d
test r9, r9
je 0x14006133f
mov rax, qword [rdi]
mov ecx, dword [rax]
mov rdx, qword [rax + 8]
test ecx, ecx
jle 0x14006130e
lea rax, [rdx + 0x22]
nop dword [rax + rax]
dec ecx
mov word [rax], r8w
lea rax, [rax + 0x28]
test ecx, ecx
jg 0x140061300
mov eax, dword [r9]
mov rcx, qword [r9 + 8]
test eax, eax
jle 0x14006132e
add rcx, 0x22
nop dword [rax]
dec eax
mov word [rcx], r8w
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x140061320
cmp qword [rdi + 0x20], 0x64
jbe 0x140061347
mov qword [rdi + 0x20], 0x64
jmp 0x140061347
mov qword [rdi + 0x20], 1
mov rdx, qword [rsp + 0x70]
or r8d, 0xffffffff
mov rcx, r9
call fcn.14004b090
xor edx, edx
test eax, eax
mov ecx, edx
mov eax, 1
cmove ecx, eax
mov dword [rbp - 0x50], ecx
mov rcx, rbx
call fcn.1400704f0
mov ecx, dword [rsi + 0x54]
mov dword [rbp - 0x64], eax
xor eax, eax
inc ecx
mov qword [rbp + 0x88], rax
mov qword [rbp + 0x90], rax
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], rax
mov rax, qword [rsp + 0x78]
mov dword [rbp], ecx
mov rcx, qword [rsp + 0x58]
mov qword [rbp + 0x90], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x88], rsi
test rcx, rcx
je 0x1400613db
mov eax, dword [rcx]
jmp 0x1400613dd
xor eax, eax
mov rdx, qword [rbp - 0x70]
mov qword [rbp + 8], rcx
lea rcx, [rbp + 0x88]
mov dword [rbp - 4], eax
call fcn.140047430
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp + 0x88]
call fcn.140047430
mov rax, qword [rbp + 0x78]
test rax, rax
je 0x140061473
xor ecx, ecx
mov rdx, rax
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xc8], rcx
mov qword [rbp + 0xe8], rcx
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rcx
mov qword [rbp + 0xe0], rcx
lea rcx, [fcn.1400145d0]
mov qword [rbp + 0xc0], rcx
lea rcx, [sym.NitroFree.exe_public_virtual:_long_int___cdecl_CxMemFile::Scanf_char_const____ptr64__void____ptr64____ptr64]
mov qword [rbp + 0xc8], rcx
lea rcx, [rbp + 0x88]
mov qword [rbp + 0xe8], rcx
lea rcx, [rbp + 0xc0]
call fcn.1400750c0
mov ecx, dword [rbp + 0x28]
mov eax, dword [rbp + 0x18]
xor r11d, r11d
mov dword [rbp + 0x1c], eax
test ecx, ecx
jle 0x1400614ea
movzx eax, word [rbp + 0xb8]
mov edi, r11d
mov esi, 0xfff7
mov ebx, edi
or ax, 8
lea rcx, [rbp + 0x88]
mov word [rbp + 0xb8], ax
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax + rdi]
mov rdx, qword [rdx + 0x20]
call fcn.140047430
movzx eax, word [rbp + 0xb8]
mov ecx, dword [rbp + 0x28]
and ax, si
inc ebx
lea rdi, [rdi + 0x18]
mov word [rbp + 0xb8], ax
cmp ebx, ecx
jl 0x140061494
mov rbx, qword [rbp - 0x30]
mov rsi, qword [rbp + 0x120]
mov rdi, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
xor r11d, r11d
mov eax, dword [rsi + 0x54]
mov dword [rbp + 4], eax
mov rax, qword [rbp - 0x80]
cmp byte [rax + 0x50], 0
jne 0x14006273c
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x14006225e
mov eax, dword [rsi + 0x50]
xor r9d, r9d
xor r8d, r8d
mov dword [rbp - 0xc], eax
inc eax
mov rcx, rsi
mov dword [rsi + 0x50], eax
call fcn.14002b2e0
mov r9d, dword [rbp - 4]
mov r8d, dword [rbp - 0xc]
mov qword [rsp + 0x60], rax
xor eax, eax
lea edx, [rax + 0x3a]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140068970
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rsp + 0x50], eax
mov edx, eax
test r8, r8
je 0x1400615b0
cmp byte [rcx + 0x50], 0
jne 0x1400615b0
test eax, eax
jns 0x140061564
mov edx, dword [rbx + 0x3c]
dec edx
movsxd rax, edx
lea rdx, [rax + rax*2]
lea r8, [r8 + rdx*8]
mov qword [rbp + 0x120], r8
movsx edx, byte [r8 + 1]
mov r8, qword [r8 + 0x10]
call fcn.140027190
mov rax, qword [rbp + 0x120]
mov r8, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rax + 0x10], rcx
test r8, r8
jne 0x1400615a4
mov qword [rax + 0x10], rcx
mov byte [rax + 1], cl
jmp 0x1400615bf
mov qword [rax + 0x10], r8
mov byte [rax + 1], 0xfa
jmp 0x1400615bf
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140027190
mov eax, dword [rsi + 0x54]
mov rcx, rbx
inc eax
mov dword [rbp + 0x120], eax
add eax, 2
mov dword [rsi + 0x54], eax
call fcn.1400704f0
inc dword [rsi + 0x54]
mov dword [rbp - 0x40], eax
mov eax, dword [rsi + 0x54]
mov rcx, rbx
mov dword [rsp + 0x54], eax
call fcn.1400704f0
mov edx, dword [rsi + 0x54]
mov r9d, dword [rbp + 0x120]
mov dword [rbp - 0x3c], eax
lea eax, [rdx + 1]
mov dword [rbp - 0x38], eax
mov rax, qword [rsp + 0x58]
inc r9d
mov r8d, dword [rax]
add r8d, edx
mov dword [rsi + 0x54], r8d
lea ecx, [r8 + 1]
add r8d, dword [rax]
xor eax, eax
mov dword [rsi + 0x54], r8d
mov dword [rbp - 0x60], ecx
lea edx, [rax + 0x19]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140068970
mov r9d, dword [rbp + 0x120]
xor eax, eax
lea edx, [rax + 0x19]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140068970
mov edx, dword [rbp - 0x38]
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov r9d, edx
mov eax, dword [rcx]
lea ecx, [rdx - 1]
lea edx, [r8 + 0x1c]
add ecx, eax
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.140068970
mov r9d, dword [rbp - 0x3c]
mov r8d, dword [rsp + 0x54]
xor eax, eax
mov rcx, rbx
lea edx, [rax + 0x11]
mov dword [rsp + 0x20], eax
call fcn.140068970
mov eax, dword [rbp - 0x50]
mov r9, qword [rsp + 0x58]
mov r8, qword [rbp - 0x58]
mov rdx, qword [rsp + 0x78]
neg eax
sbb cx, cx
mov eax, 0x100
and cx, 0x800
or cx, ax
xor eax, eax
mov dword [rsp + 0x30], eax
mov word [rsp + 0x28], cx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1400753b0
mov rdx, rax
mov qword [rbp - 0x58], rax
test rax, rax
je 0x140060ab0
movsx ecx, byte [rax + 0x34]
mov rax, qword [rsp + 0x58]
cmp ecx, dword [rax]
jne 0x1400616f3
xor ecx, ecx
mov edi, ecx
mov dword [rsp + 0x68], ecx
jmp 0x1400619cb
cmp byte [rbp + 0x138], 0
je 0x140061709
test byte [rdi + 0xa], 1
lea rdx, str.DISTINCT
je 0x140061710
lea rdx, str.GROUP_BY
mov rcx, rsi
call fcn.140021dd0
mov r10, qword [rsp + 0x58]
mov edx, dword [rbp + 0x18]
mov eax, dword [r10]
mov dword [rsp + 0x68], 1
mov dword [rsp + 0x70], eax
mov r8d, eax
mov dword [rbp - 0x78], eax
mov ecx, eax
test edx, edx
jle 0x140061759
mov rax, qword [rbp + 0x10]
add rax, 0x10
cmp dword [rax], ecx
jl 0x14006174c
inc r8d
inc ecx
add rax, 0x20
dec rdx
jne 0x140061743
mov dword [rbp - 0x78], r8d
mov ecx, dword [rsi + 0x44]
mov edi, dword [rsi + 0x48]
mov dword [rbp + 0x138], edi
cmp r8d, ecx
jg 0x140061779
lea eax, [rdi + r8]
sub ecx, r8d
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x44], ecx
jmp 0x14006178b
mov eax, dword [rsi + 0x54]
lea edi, [rax + 1]
add eax, r8d
mov dword [rbp + 0x138], edi
mov dword [rsi + 0x54], eax
lea rax, [rsi + 0x88]
xor ebx, ebx
lea rcx, [rax + 0xc]
lea r8d, [rbx + 0xa]
nop dword [rax]
mov edx, dword [rcx]
test edx, edx
je 0x1400617c2
cmp byte [rcx - 6], bl
je 0x1400617c0
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x1400617bd
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], bl
mov dword [rcx], ebx
add rcx, 0x14
dec r8
jne 0x1400617a0
xor r9d, r9d
mov r8d, edi
mov rdx, r10
mov rcx, rsi
call fcn.140047ef0
mov r9d, dword [rbp + 0x18]
mov rbx, qword [rbp - 0x30]
xor ecx, ecx
mov r8d, ecx
mov dword [rbp - 0x5c], ecx
test r9d, r9d
jle 0x14006187e
add edi, dword [rsp + 0x70]
mov r10d, dword [rbp + 0x138]
mov qword [rbp - 0x28], rcx
neg r10d
mov dword [rsp + 0x70], r10d
nop dword [rax]
mov rdx, qword [rbp + 0x10]
lea eax, [r10 + rdi]
add rdx, rcx
cmp dword [rdx + 0x10], eax
jl 0x14006186a
mov r9d, dword [rdx + 8]
mov r8d, dword [rdx + 0xc]
mov rdx, qword [rdx]
mov rcx, rsi
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], edi
call fcn.140048230
cmp edi, eax
je 0x140061857
xor ecx, ecx
mov r9d, edi
mov r8d, eax
lea edx, [rcx + 0x22]
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.140068970
mov r9d, dword [rbp + 0x18]
mov rcx, qword [rbp - 0x28]
mov r8d, dword [rbp - 0x5c]
mov r10d, dword [rsp + 0x70]
inc edi
inc r8d
add rcx, 0x20
mov dword [rbp - 0x5c], r8d
mov qword [rbp - 0x28], rcx
cmp r8d, r9d
jl 0x140061810
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x14006188e
inc dword [rsi + 0x54]
mov edi, dword [rsi + 0x54]
jmp 0x14006189a
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov edi, dword [rsi + rax*4 + 0x24]
mov r9d, dword [rbp - 0x78]
mov r8d, dword [rbp + 0x138]
mov edx, 0x31
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.140068970
mov r8d, dword [rbp - 0xc]
xor eax, eax
lea edx, [rax + 0x6d]
mov r9d, edi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140068970
test edi, edi
je 0x140061906
movzx edx, byte [rsi + 0x1f]
cmp dl, 8
jae 0x140061906
xor eax, eax
mov ecx, eax
lea rax, [rsi + 0x88]
cmp dword [rax + 0xc], edi
je 0x140061902
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1400618e6
movzx eax, dl
mov dword [rsi + rax*4 + 0x24], edi
inc byte [rsi + 0x1f]
jmp 0x140061906
mov byte [rax + 6], 1
mov edi, dword [rbp - 0x78]
mov edx, dword [rbp + 0x138]
mov rcx, rsi
mov r8d, edi
call fcn.14005ded0
mov rcx, qword [rbp - 0x58]
call fcn.140075e20
mov ecx, dword [rsi + 0x50]
lea eax, [rcx + 1]
mov dword [rbp - 0x5c], ecx
mov dword [rbp - 8], ecx
mov dword [rsi + 0x50], eax
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x140061942
inc dword [rsi + 0x54]
mov eax, dword [rsi + 0x54]
jmp 0x14006194e
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov eax, dword [rsi + rax*4 + 0x24]
mov r8d, ecx
mov r9d, eax
mov edx, 0x3c
mov rcx, rbx
mov dword [rbp - 0x78], eax
mov dword [rsp + 0x20], edi
call fcn.140068970
mov r9d, dword [rbp - 0x64]
mov r8d, dword [rbp - 0xc]
xor edi, edi
mov rcx, rbx
lea edx, [rdi + 0x6a]
mov dword [rsp + 0x20], edi
call fcn.140068970
lea rax, [rsi + 0x88]
mov byte [rbp - 0xf], 1
lea rcx, [rax + 0xc]
lea r8d, [rdi + 0xa]
mov edx, dword [rcx]
test edx, edx
je 0x1400619b8
cmp byte [rcx - 6], dil
je 0x1400619b6
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x1400619b2
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], dil
mov dword [rcx], edi
add rcx, 0x14
dec r8
jne 0x140061994
mov rdx, qword [rbp - 0x58]
lea edi, [r8 + 1]
xor ecx, ecx
cmp dword [rbp - 0x50], 0
je 0x1400619f4
mov rax, qword [rbp - 0x80]
test byte [rax + 0x4c], 4
jne 0x1400619f4
test edi, edi
jne 0x1400619e5
cmp byte [rdx + 0x35], dil
je 0x1400619f4
mov edx, dword [rbp - 0x68]
mov qword [rbp + 0x40], rcx
mov rcx, rbx
call fcn.140068dd0
mov eax, dword [rbx + 0x3c]
xor edi, edi
lea rcx, [rsi + 0x94]
mov dword [rbp - 0x68], eax
lea r8d, [rdi + 0xa]
mov edx, dword [rcx]
test edx, edx
je 0x140061a2b
cmp byte [rcx - 6], dil
je 0x140061a29
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x140061a25
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], dil
mov dword [rcx], edi
add rcx, 0x14
dec r8
jne 0x140061a07
mov edi, dword [rsp + 0x68]
test edi, edi
je 0x140061a58
mov eax, dword [rbp - 0x5c]
mov r9d, dword [rbp - 0x78]
mov r8d, dword [rbp - 0xc]
mov edx, 0x64
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140068970
mov rdx, qword [rsp + 0x58]
xor eax, eax
mov edi, eax
cmp dword [rdx], eax
jle 0x140061ad5
movsxd rcx, dword [rsp + 0x68]
mov qword [rbp + 0x138], rax
mov qword [rbp - 0x28], rcx
test rcx, rcx
je 0x140061a99
mov eax, dword [rbp - 0x60]
mov r8d, dword [rbp - 0x5c]
mov r9d, edi
add eax, edi
mov edx, 0x2f
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140068970
jmp 0x140061ab4
mov r8d, dword [rbp - 0x60]
mov byte [rbp - 0x10], 1
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx + rax]
add r8d, edi
mov rcx, rsi
call fcn.140047d40
mov rax, qword [rbp + 0x138]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbp - 0x28]
add rax, 0x28
inc edi
mov qword [rbp + 0x138], rax
cmp edi, dword [rdx]
jl 0x140061a75
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140061ae1
inc dword [rax]
mov eax, dword [rdx]
movsxd rdi, dword [rbx + 0x3c]
mov dword [rbp + 0x138], eax
mov rax, qword [rbx + 0x30]
cmp dword [rax + 0x60], edi
jg 0x140061b0e
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
je 0x140061b0e
mov edi, 1
jmp 0x140061b43
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp - 0x38]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x60]
mov word [rax + rcx*8], 0x2a
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rbp + 0x138]
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
xor edx, edx
mov qword [rax + rcx*8 + 0x10], rdx
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
test r8, r8
je 0x140061ba0
cmp byte [rcx + 0x50], 0
jne 0x140061ba0
test edi, edi
jns 0x140061b5e
mov edi, dword [rbx + 0x3c]
dec edi
movsxd rax, edi
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140027190
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rdi + 0x10], rcx
test rax, rax
jne 0x140061b91
mov qword [rdi + 0x10], rcx
mov byte [rdi + 1], cl
jmp 0x140061baf
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xfa
jmp 0x140061baf
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140027190
movsxd rdi, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp - 0x50], edi
cmp dword [rax + 0x60], edi
jg 0x140061bd0
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x140061bfa
mov rax, qword [rbx + 8]
inc dword [rbx + 0x3c]
lea rcx, [rdi + rdi*2]
lea rdx, [rax + rcx*8]
lea eax, [rdi + 1]
xor ecx, ecx
mov word [rdx], 0x2b
mov byte [rdx + 3], 0
mov dword [rdx + 4], eax
mov dword [rdx + 8], ecx
mov dword [rdx + 0xc], eax
mov qword [rdx + 0x10], rcx
mov rax, qword [rsp + 0x58]
mov rdi, qword [rsi + 0x10]
mov eax, dword [rax]
mov ecx, dword [rdi + 0x3c]
mov dword [rbp + 0x138], eax
mov rax, qword [rdi + 0x30]
mov dword [rsp + 0x70], ecx
cmp dword [rax + 0x60], ecx
jg 0x140061c30
mov edx, 1
mov rcx, rdi
call fcn.140029ca0
test eax, eax
jne 0x140061c6b
mov ecx, dword [rsp + 0x70]
inc dword [rdi + 0x3c]
mov edx, dword [rbp - 0x60]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
xor r9d, r9d
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x38]
mov word [rax + rcx*8], 0x20
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rbp + 0x138]
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x140061c74
mov edx, dword [rbp + 0x138]
xor r9d, r9d
mov eax, dword [rbp - 0x60]
lea rcx, [rsi + 0x94]
mov ebx, 0xa
lea r8d, [rax - 1]
add r8d, edx
nop word [rax + rax]
mov edx, dword [rcx]
cmp edx, eax
jl 0x140061cbd
cmp edx, r8d
jg 0x140061cbd
cmp byte [rcx - 6], 0
je 0x140061cba
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x140061cb3
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov eax, dword [rbp - 0x60]
mov byte [rcx - 6], 0
mov dword [rcx], r9d
add rcx, 0x14
dec rbx
jne 0x140061c90
mov rbx, qword [rbp - 0x30]
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x140061ce8
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x140061d1d
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x120]
lea rcx, [rdi + rdi*2]
add edx, 2
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x40]
mov word [rax + rcx*8], reloc.COMCTL32.dll_InitCommonControls
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x140061d3b
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x140061d6f
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x120]
lea rcx, [rdi + rdi*2]
inc edx
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x64]
mov word [rax + rcx*8], 0x89
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x140061d8d
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x140061dbd
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rsp + 0x54]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x3c]
mov word [rax + rcx*8], reloc.COMCTL32.dll_InitCommonControls
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov edx, dword [rbx + 0x3c]
mov eax, dword [rbp - 0x50]
cmp edx, eax
jbe 0x140061dd3
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
lea rdx, [rbp - 0x10]
dec ecx
mov dword [rax + 0x64], ecx
mov rcx, rsi
call fcn.140078710
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x140061e09
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x140061e3c
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x120]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov word [rax + rcx*8], 0x19
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
cmp dword [rsp + 0x68], 0
je 0x140061ea2
mov eax, dword [rbp - 0xc]
movsxd rdi, dword [rbx + 0x3c]
mov dword [rbp + 0x138], eax
mov rax, qword [rbx + 0x30]
cmp dword [rax + 0x60], edi
jg 0x140061e6e
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x140061ef1
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x138]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x68]
mov word [rax + rcx*8], 5
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
jmp 0x140061ef1
mov rcx, qword [rbp - 0x58]
call fcn.140075e20
movsxd rax, dword [rsp + 0x50]
cmp eax, dword [rbx + 0x3c]
jge 0x140061ef1
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
movsx edx, byte [rax + rcx*8 + 1]
mov r8, qword [rax + rcx*8 + 0x10]
lea rdi, [rax + rcx*8]
mov rcx, qword [rbx]
call fcn.140027190
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov eax, dword [rbx + 0x3c]
dec eax
cmp dword [rsp + 0x50], eax
jne 0x140061ef1
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x140061f0f
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x140061f44
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x120]
lea rcx, [rdi + rdi*2]
add edx, 2
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x40]
mov word [rax + rcx*8], reloc.COMCTL32.dll_InitCommonControls
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x140061f62
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x140061f91
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp - 0x64]
lea rcx, [rdi + rdi*2]
xor r8d, r8d
mov word [rax + rcx*8], InitCommonControls
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rdi, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rsp + 0x70], edi
cmp dword [rax + 0x60], edi
jg 0x140061fb3
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x140061fe8
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x120]
lea rcx, [rdi + rdi*2]
inc edx
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov word [rax + rcx*8], 0x19
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x140062006
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x140062035
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x120]
lea rcx, [rdi + rdi*2]
add edx, 2
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov word [rax + rcx*8], 0x12
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 3], 0
mov r8, qword [rbx + 0x30]
or eax, 0xffffffff
sub eax, dword [rbp - 0x40]
js 0x140062056
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140062056
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x14006207d
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x1400620ad
mov rax, qword [rbx + 8]
inc dword [rbx + 0x3c]
lea rcx, [rdi + rdi*2]
lea rdx, [rax + rcx*8]
mov eax, dword [rbp + 0x120]
mov dword [rdx + 4], eax
lea eax, [rdi + 2]
mov word [rdx], 0x89
mov dword [rdx + 8], eax
xor eax, eax
mov byte [rdx + 3], 0
mov dword [rdx + 0xc], eax
mov qword [rdx + 0x10], rax
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0x138], ecx
cmp dword [rax + 0x60], ecx
jg 0x1400620d6
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x140062108
mov ecx, dword [rbp + 0x138]
inc dword [rbx + 0x3c]
mov edx, dword [rbp + 0x120]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
add edx, 2
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov word [rax + rcx*8], 0x12
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 3], 0
lea rdx, [rbp - 0x10]
mov rcx, rsi
call fcn.1400240c0
mov rdx, qword [rbp + 0x78]
inc edi
mov r8d, edi
mov r9d, InitCommonControls
mov rcx, rsi
call fcn.14004a500
mov eax, dword [rsp + 0x70]
or r9d, 0xffffffff
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x130]
mov dword [rsp + 0x38], edi
mov rdi, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x30]
mov r8, qword [rdi]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x40]
mov rdx, rdi
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140038640
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + reloc.mfc120u.dll_Ordinal_296], ecx
cmp dword [rax + 0x60], ecx
jg 0x140062197
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x1400621c9
mov ecx, dword [rbp + reloc.mfc120u.dll_Ordinal_296]
inc dword [rbx + 0x3c]
mov edx, dword [rbp + 0x120]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
add edx, 2
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov word [rax + rcx*8], 0x12
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 3], 0
mov r8, qword [rbx + 0x30]
or eax, 0xffffffff
sub eax, dword [rbp - 0x3c]
js 0x1400621ea
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1400621ea
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
lea rdx, [rbp - 0x10]
mov rcx, rsi
dec eax
mov dword [r8 + 0x64], eax
call fcn.140035010
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + reloc.mfc120u.dll_Ordinal_296], ecx
cmp dword [rax + 0x60], ecx
jg 0x14006222c
mov edx, 1
mov rcx, rbx
call fcn.140029ca0
test eax, eax
jne 0x14006267d
mov ecx, dword [rbp + reloc.mfc120u.dll_Ordinal_296]
inc dword [rbx + 0x3c]
mov edx, dword [rsp + 0x54]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov word [rax + rcx*8], 0x12
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 3], 0
jmp 0x14006267d
cmp qword [rdi + 0x30], 0
mov qword [rsp + 0x58], r11
jne 0x1400624e5
mov rax, qword [rdi]
cmp dword [rax], 1
jne 0x1400624e5
mov r8, qword [rdi + 0x28]
cmp dword [r8], 1
jne 0x1400624e5
cmp qword [r8 + 0x30], 0
jne 0x1400624e5
mov r8, qword [r8 + 0x28]
mov rax, qword [rax + 8]
test byte [r8 + 0x48], 0x10
mov rdx, qword [rax]
mov qword [rbp - 0x30], r8
jne 0x1400624e5
cmp byte [rdx], 0x9b
jne 0x1400624e5
test ecx, ecx
je 0x1400624e5
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax + 8]
mov eax, 0x100
test word [rcx + 2], ax
je 0x1400624e5
test byte [rdx + 4], 0x10
jne 0x1400624e5
mov r9, qword [r8 + 0x70]
mov rax, qword [rsi]
mov edx, 0xfff0bdc0
mov dword [rbp + 0x120], edx
test r9, r9
je 0x14006232c
movsxd r10, dword [rax + 0x28]
mov edx, r11d
mov dword [rbp + 0x120], edx
test r10d, r10d
jle 0x14006232c
mov rax, qword [rax + 0x20]
mov rcx, r11
add rax, 0x18
cmp qword [rax], r9
je 0x140062326
inc rcx
inc edx
add rax, 0x20
cmp rcx, r10
jl 0x140062313
mov dword [rbp + 0x120], edx
mov eax, dword [rsi + 0x50]
mov rcx, rsi
mov qword [rbp - 0x58], r11
mov dword [rbp + 0x138], eax
inc eax
mov rdi, r11
mov dword [rsi + 0x50], eax
mov eax, dword [r8 + 0x3c]
mov qword [rsp + 0x60], r11
mov dword [rsp + 0x50], eax
call fcn.1400427e0
mov rdx, qword [rbp - 0x30]
mov rax, qword [rdx]
mov r8d, dword [rdx + 0x3c]
mov edx, dword [rbp + 0x120]
xor r9d, r9d
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140064340
mov rdx, qword [rbp - 0x30]
test byte [rdx + 0x48], 0x20
je 0x1400623a7
mov rdi, qword [rdx + 0x10]
mov qword [rsp + 0x60], rdi
test rdi, rdi
je 0x1400623a7
nop
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x1400623a2
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x140062390
mov qword [rsp + 0x60], rdi
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x1400623e3
test byte [rax + 0x64], 4
jne 0x1400623d5
movzx ecx, word [rax + 0x5c]
cmp cx, word [rdx + 0x46]
jge 0x1400623d5
cmp qword [rax + 0x48], 0
jne 0x1400623d5
test rdi, rdi
je 0x1400623d2
cmp cx, word [rdi + 0x5c]
jge 0x1400623d5
mov rdi, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1400623b0
mov qword [rsp + 0x60], rdi
test rdi, rdi
je 0x1400623fe
mov eax, dword [rdi + 0x58]
mov rdx, rdi
mov rcx, rsi
mov dword [rsp + 0x50], eax
call fcn.140053a80
mov qword [rbp - 0x58], rax
mov eax, dword [rbp + 0x120]
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rbp + 0x138]
mov edx, 0x36
mov rcx, rbx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
call fcn.140068a50
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14006248d
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
test r8, r8
je 0x140062480
cmp byte [rcx + 0x50], 0
jne 0x140062480
mov eax, dword [rbx + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140027190
mov rax, qword [rbp - 0x58]
mov byte [rdi + 1], 0xfa
mov qword [rdi + 0x10], rax
mov rdi, qword [rsp + 0x60]
jmp 0x14006248d
mov r8, rax
mov edx, 0xfffffffa
call fcn.140027190
mov r8d, dword [rbp + 0x138]
xor eax, eax
mov edx, 0x32
mov dword [rsp + 0x20], eax
mov rax, qword [rbp + 0x20]
mov rcx, rbx
mov r9d, dword [rax + 0x10]
call fcn.140068970
mov r8d, dword [rbp + 0x138]
xor eax, eax
lea edx, [rax + 0x3d]
xor r9d, r9d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140068970
mov rdx, qword [rbp - 0x30]
mov r8, rdi
mov rcx, rsi
call fcn.140021ca0
mov rdi, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
jmp 0x140062620
cmp qword [rdi + 0x40], 0
mov rax, r11
mov byte [rbp + reloc.mfc120u.dll_Ordinal_296], 0
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x120], rax
jne 0x140062577
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x10]
call fcn.14002c5b0
mov byte [rbp + reloc.mfc120u.dll_Ordinal_296], al
test al, al
je 0x140062569
mov rdx, qword [rbp + 0x120]
mov rcx, qword [rbp - 0x80]
xor r8d, r8d
call fcn.14004b320
mov qword [rbp + 0x138], rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140062577
mov rcx, qword [rbp - 0x80]
cmp byte [rcx + 0x50], 0
jne 0x140062577
mov rcx, qword [rax + 8]
cmp byte [rbp + reloc.mfc120u.dll_Ordinal_296], 1
setne dl
mov byte [rcx + 0x18], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov byte [rdx], 0x9a
jmp 0x140062577
mov rax, qword [rbp + 0x120]
mov qword [rbp + 0x138], rax
lea rdx, [rbp - 0x10]
mov rcx, rsi
call fcn.140035010
movzx eax, byte [rbp + reloc.mfc120u.dll_Ordinal_296]
mov r9, qword [rbp + 0x138]
mov r8, qword [rbp - 0x58]
mov rdx, qword [rsp + 0x78]
xor ecx, ecx
mov dword [rsp + 0x30], ecx
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call fcn.1400753b0
mov qword [rbp + reloc.mfc120u.dll_Ordinal_296], rax
test rax, rax
jne 0x1400625d4
mov rbx, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.14004b160
jmp 0x140060ab4
lea rdx, [rbp - 0x10]
mov rcx, rsi
call fcn.140078710
mov rax, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
cmp byte [rax + 0x34], 0
jle 0x14006260c
mov r9d, dword [rax + 0x44]
xor ecx, ecx
xor r8d, r8d
lea edx, [rcx + 0x10]
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.140068970
mov rax, qword [rbp + reloc.mfc120u.dll_Ordinal_296]
mov rcx, rax
call fcn.140075e20
lea rdx, [rbp - 0x10]
mov rcx, rsi
call fcn.1400240c0
mov r8d, dword [rbp - 0x64]
mov rdx, qword [rbp + 0x78]
xor eax, eax
lea r9d, [rax + 0x10]
mov rcx, rsi
mov qword [rbp + 0x40], rax
call fcn.14004a500
mov eax, dword [rbp - 0x64]
mov r8, qword [rdi]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], eax
mov rax, qword [rbp + 0x130]
mov qword [rsp + 0x30], rax
xor eax, eax
or r9d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rdx, rdi
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140038640
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbp - 0x80]
call fcn.14004b160
mov r9, qword [rbx + 0x30]
or eax, 0xffffffff
sub eax, dword [rbp - 0x64]
js 0x14006269f
mov r8, qword [r9 + 0x80]
test r8, r8
je 0x14006269f
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r9 + 0x64], eax
cmp byte [rbp - 0x4c], 3
jne 0x1400626bd
lea rdx, str.DISTINCT
mov rcx, rsi
call fcn.140021dd0
cmp qword [rbp + 0x40], 0
je 0x140062704
cmp dword [rbp + 0x48], 0
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea rdx, str.ORDER_BY
cmovg rdx, rax
mov rcx, rsi
call fcn.140021dd0
mov rax, qword [rbp + 0x130]
lea r8, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x70]
mov rdx, rdi
mov r9d, dword [rax]
mov rcx, rsi
call fcn.1400286d0
mov r9, qword [rbx + 0x30]
or rax, 0xffffffffffffffff
sub eax, dword [rbp - 0x48]
js 0x140062726
mov rdx, qword [r9 + 0x80]
test rdx, rdx
je 0x140062726
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r9 + 0x64], eax
xor eax, eax
mov dword [rbp + 0x80], eax
jmp 0x140060ab0
mov rbx, rax
jmp 0x140060ab4
cmp rcx, qword [rbx + 0x168]
jb 0x14006276f
cmp rcx, qword [rbx + 0x170]
jae 0x14006276f
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140062774
call fcn.14000e700
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1400627dc
cmp qword [rbx + 0x320], 0
je 0x1400627a0
mov rdx, rcx
mov rcx, rbx
call fcn.14002c560
mov eax, edi
add rsp, 0x1f8
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp rcx, qword [rbx + 0x168]
jb 0x1400627d7
cmp rcx, qword [rbx + 0x170]
jae 0x1400627d7
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
mov eax, edi
add rsp, 0x1f8
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14000e700
mov eax, edi
add rsp, 0x1f8
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, ecx
add rsp, 0x1f8
pop rdi
pop rsi
pop rbx
pop rbp
ret