Function at 0x180006190
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa8]
sub rsp, 0x1a8
mov r13, qword [rsp + 0x68]
lea r12d, [r8 + 0x7e]
mov esi, dword [rbp + 0x100]
xor edi, edi
mov eax, r8d
mov r14, rdx
mov rbx, rcx
mov r15d, r8d
cmp r8d, r12d
jae 0x1800067b0
lea rdx, [0x180000000]
lea r8, [0x1800a9369]
cmp r15d, 0x122
ja 0x180006556
je 0x180006492
lea eax, [r15 - 0x1a]
cmp eax, 0xba
ja case.0x180006227.38
movzx eax, byte [rdx + rax + 0x6ee4]
mov ecx, dword [rdx + rax*4 + 0x6eb0]
add rcx, rdx
jmp rcx
mov eax, dword [rsp + 0x74]
cmp byte [rax + rdx + 0x63cd0], 1
jne case.0x180006227.38
mov dword [rsp + 0x68], edi
jmp case.0x180006227.36
xor r9d, r9d
lea r8, [rsp + 0x70]
mov edx, 0xa4
xor ecx, ecx
call fcn.180015570
mov rcx, qword [0x1800c9d18]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_feof]
test eax, eax
je 0x18000678f
mov rax, rdi
jmp 0x180006e9a
cmp dword [rbx], edi
je 0x18000623b
jmp case.0x180006227.38
mov dword [rsp + 0x70], edi
jmp case.0x180006227.38
mov rax, qword [rbx + 0x10]
mov ecx, dword [rax]
and ecx, 0x7f
cmp byte [rcx + rdx + 0x63c50], 1
je 0x18000623b
jmp case.0x180006227.38
mov ecx, 0x20
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r13, rax
jmp 0x18000678f
test rbx, rbx
jne 0x1800062fb
mov qword [rsp + 0x48], rdi
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rdi
xor r9d, r9d
mov qword [rsp + 0x38], r8
mov edx, 0xcd
mov qword [rsp + 0x30], rax
lea r8, str.a___NULL
mov qword [rsp + 0x28], rdi
xor ecx, ecx
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x60], edi
call fcn.180026490
lea r8, [0x1800a9369]
test r14, r14
jne 0x18000633d
mov qword [rsp + 0x48], rdi
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rdi
xor r9d, r9d
mov qword [rsp + 0x38], r8
mov edx, 0xcd
mov qword [rsp + 0x30], rax
lea r8, str.b___NULL
mov qword [rsp + 0x28], rdi
xor ecx, ecx
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x60], edi
call fcn.180026490
mov r14, qword [rbp + 0x118]
test r14, r14
jne 0x18000638d
mov qword [rsp + 0x48], rdi
lea rax, [0x1800a9369]
mov qword [rsp + 0x40], rdi
lea r8, str.c___NULL
mov qword [rsp + 0x38], rax
xor r9d, r9d
lea rax, [rsp + 0x60]
mov dword [rsp + 0x60], edi
mov qword [rsp + 0x30], rax
mov edx, 0xcd
mov qword [rsp + 0x28], rdi
xor ecx, ecx
mov qword [rsp + 0x20], rdi
call fcn.180026490
mov eax, dword [r14]
lea rcx, [rsp + 0x60]
mov r14, qword [rbp + 0xf8]
mov r9d, 0x30
mov rdx, r14
mov dword [rsp + 0x60], eax
mov r8, rbx
call fcn.1800169a0
xor edx, edx
mov dword [rsp + 0x60], eax
lea r8, [rsp + 0x60]
lea ecx, [rdx + 3]
call fcn.180029d80
mov dword [rsp + 0x68], eax
jmp 0x18000678f
mov dword [r14], edi
cmp dword [rbx + 8], 1
jne case.0x180006227.38
mov dword [rsp + 0x68], 0xfffffffd
jmp case.0x180006227.36
lea r9, [rsp + 0x60]
mov dword [rsp + 0x60], 0x69
lea r8, [rsp + 0x74]
mov edx, 0x104
mov rcx, rbx
call fcn.180054230
mov rsi, rax
test eax, eax
je 0x18000678f
mov dword [rsp + 0x68], eax
jmp case.0x180006227.36
mov qword [rsp + 0x50], rdi
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rdi
lea r8, [rbp - 0x70]
mov qword [rsp + 0x40], rdi
xor r9d, r9d
mov qword [rsp + 0x38], rdi
xor edx, edx
mov qword [rsp + 0x30], rdi
mov ecx, 0x107
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x60], 0x38ece7e1
call fcn.180032550
test eax, eax
jne 0x180006411
lea r9, [rbp - 0x70]
mov rdx, rbx
lea r8d, [rax + 0x24]
lea rcx, [rbp - 0x70]
call fcn.18005ba20
mov esi, eax
test eax, eax
je 0x18000678f
mov r15d, dword [rbp + 0x100]
mov r12, qword [rbp + 0xf8]
jmp 0x180006dab
mov qword [rsp + 0x58], rdi
lea rax, [rbp - 0x40]
mov qword [rsp + 0x50], rax
lea r9, [rbp + 0x38]
lea rax, [rbp + 8]
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x78]
lea rax, [rbp + 0x50]
mov qword [rsp + 0x40], rax
lea rdx, [rbp - 0x10]
lea rax, [rbp + 0x68]
mov qword [rsp + 0x38], rax
lea rcx, [rbp - 0x28]
lea rax, [rbp + 0x80]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.18005fa80
test eax, eax
jne 0x180006411
mov r9d, 0x127
mov dword [rsp + 0x60], 1
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x28]
call fcn.180005420
mov r8, rbx
lea rdx, [rsp + 0x78]
mov ecx, 0x93
call fcn.1800373f0
mov ebx, eax
test eax, eax
jne 0x1800068f2
mov r9d, 0x127
mov dword [rsp + 0x60], 1
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x20]
call fcn.180005420
jmp 0x180006788
cmp r15d, 0x12b
jne case.0x180006227.38
mov r8, r14
lea rdx, [rbp - 0x58]
mov ecx, 0x93
call fcn.1800373f0
mov ebx, eax
test eax, eax
jne 0x1800068f2
cmp dword [rbp - 0x58], edi
je 0x180006788
nop word [rax + rax]
mov r14d, SHTestTokenMembership
nop word [rax + rax]
mov eax, r14d
sub eax, 0xf4
je 0x1800066f5
sub eax, 0xa
je 0x180006695
sub eax, 0xa
je 0x180006654
sub eax, 0xa
je 0x180006601
cmp eax, 0xa
jne 0x180006767
lea r8, [rbp + 0x68]
mov ecx, 0x93
lea rdx, [rbp + 0x20]
call fcn.1800373f0
mov ebx, eax
test eax, eax
jne 0x1800068f2
lea r8, [rbp + 0x50]
mov ecx, 0x93
lea rdx, [rbp - 0x58]
call fcn.1800373f0
jmp 0x18000675d
lea r8, [rbp + 0x20]
mov ecx, 0x93
lea rdx, [rbp - 0x10]
call fcn.1800373f0
mov ebx, eax
test eax, eax
jne 0x1800068f2
lea r8, [rbp - 0x58]
mov ecx, 0x93
lea rdx, [rsp + 0x78]
call fcn.1800373f0
mov ebx, eax
test eax, eax
jne 0x1800068f2
lea r8, [rbp + 0x80]
mov ecx, 0x93
lea rdx, [rbp + 0x38]
call fcn.1800373f0
jmp 0x18000675d
lea rax, [rbp + 0x50]
xor r9d, r9d
lea r8, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov edx, 0xde
lea rcx, [rbp - 0x40]
call fcn.18001ca80
mov rbx, rax
test eax, eax
jne 0x1800068f2
lea r8, [rbp + 0x38]
mov ecx, 0x93
lea rdx, [rbp - 0x28]
call fcn.1800373f0
jmp 0x18000675d
mov r9d, 0x75
lea r8, [rbp - 0x40]
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x20]
call fcn.18004fbb0
mov ebx, eax
test eax, eax
jne 0x1800068f2
lea rax, [rbp + 0x68]
xor r9d, r9d
lea r8, [rbp - 0x10]
mov qword [rsp + 0x20], rax
mov edx, 0xde
lea rcx, [rbp - 0x40]
call fcn.18001ca80
mov ebx, eax
test eax, eax
jne 0x1800068f2
lea r9d, [rax + 0x75]
lea r8, [rbp - 0x40]
lea rdx, [rbp + 8]
lea rcx, [rbp - 0x58]
call fcn.18004fbb0
jmp 0x18000675d
xor r8d, r8d
lea rax, [rsp + 0x78]
lea r9, [rbp + 8]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x58]
lea ecx, [r8 + 0x41]
call fcn.180024cb0
mov ebx, eax
test eax, eax
jne 0x1800068f2
lea r9d, [rax + 0x75]
lea r8, [rbp - 0x40]
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x38]
call fcn.18004fbb0
mov ebx, eax
test eax, eax
jne 0x1800068f2
lea rax, [rbp + 0x80]
xor r9d, r9d
lea r8, [rbp - 0x28]
mov qword [rsp + 0x20], rax
mov edx, 0xde
lea rcx, [rbp - 0x40]
call fcn.18001ca80
mov ebx, eax
test eax, eax
jne 0x1800068f2
add r14d, 0xa
cmp r14d, 0x126
jb 0x1800065a0
cmp dword [rbp - 0x58], edi
jne 0x180006590
mov r14, qword [rbp + 0xf8]
mov rbx, qword [rbp + 0xf0]
lea r8, [0x1800a9369]
lea rdx, [0x180000000]
add r15d, 9
cmp r15d, r12d
jb 0x1800061f3
mov eax, dword [rbp + 0x100]
mov r15d, dword [rbp + 0x100]
mov r14d, eax
mov r12, qword [rbp + 0xf8]
imul eax, eax, 0x63c
cmp r14d, eax
ja case.0x180006227.36
cmp r14d, 0x2e6a
ja 0x180006cf7
je 0x180006b66
cmp r14d, 0xbae
ja 0x180006a60
je 0x1800069f3
cmp r14d, 0x1a
je 0x1800069ae
cmp r14d, 0x55
je 0x180006905
cmp r14d, 0x122
jne 0x180006e75
cmp dword [rbp - 0x80], 1
jne 0x180006852
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x28]
lea ecx, [r14 - 0x5e]
call fcn.180059ed0
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x10]
lea ecx, [r14 - 0x5e]
call fcn.180059ed0
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x78]
lea ecx, [r14 - 0x5e]
call fcn.180059ed0
mov rax, qword [rbp + 0x118]
test rax, rax
je 0x18000686f
lea r8, [rbp - 0x28]
mov edx, 0xc4
mov rcx, rax
call fcn.18000edb0
mov rax, qword [rbp + 0x110]
test rax, rax
je 0x18000688c
lea r8, [rbp - 0x10]
mov edx, 0xc4
mov rcx, rax
call fcn.18000edb0
mov r9, qword [rbp + 0x108]
test r9, r9
je 0x180006e75
lea r8, [rsp + 0x78]
mov edx, 0xc4
mov rcx, r9
call fcn.18000edb0
imul eax, dword [rbp + 0x100], 0x72
mov rbx, qword [rbp + 0xf0]
add r14d, eax
mov eax, dword [rbp + 0x100]
jmp 0x1800067c1
cmp qword [rbx + 0x10], 4
jae 0x1800068db
mov byte [rsp + 0x68], dil
jmp case.0x180006227.36
cmp qword [rbx + 0x18], 0x10
jb 0x1800068e5
mov rbx, qword [rbx]
cmp dword [rbx], 0xffffffff
sete byte [rsp + 0x68]
jmp case.0x180006227.36
mov r15d, dword [rbp + 0x100]
mov r12, qword [rbp + 0xf8]
jmp 0x180006de0
lea r9, [rbp - 0x70]
mov qword [rsp + 0x20], rdi
xor r8d, r8d
xor edx, edx
mov ecx, 0x80
call fcn.18003a7b0
mov r15d, eax
mov eax, 0xba2e8ba3
mul r15d
mov ecx, r15d
shr edx, 3
imul r8d, edx, 0xb
mov edx, 1
sub ecx, r8d
shl edx, cl
test edx, 0x5c4
jne 0x180006dab
mov eax, 0x4ec4ec4f
mov ecx, r15d
mul r15d
shr edx, 2
imul eax, edx, 0xd
sub ecx, eax
mov eax, 1
shl eax, cl
test eax, 0x9e4
jne 0x180006dab
mov eax, 0xf0f0f0f1
mov ecx, r15d
mul r15d
shr edx, 4
imul eax, edx, 0x11
sub ecx, eax
mov eax, 1
shl eax, cl
test eax, 0x5ce8
jne 0x180006dab
imul eax, dword [rbp + 0x100], 0x72
mov rbx, qword [rbp + 0xf0]
add r14d, eax
mov eax, dword [rbp + 0x100]
jmp 0x1800067c1
xor edx, edx
mov rcx, r13
lea r8d, [rdx + 0x45]
call fcn.1800388c0
lea rax, [r13 + 4]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0xae
xor ecx, ecx
call fcn.180036d80
imul eax, dword [rbp + 0x100], 0x72
mov rbx, qword [rbp + 0xf0]
add r14d, eax
mov eax, dword [rbp + 0x100]
jmp 0x1800067c1
lea rax, [r13 + 8]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0xae
xor ecx, ecx
call fcn.180036d80
xor edx, edx
lea rcx, [r13 + 0xc]
lea r8d, [rdx + 0x45]
call fcn.1800388c0
lea rax, [r13 + 0x10]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0xae
xor ecx, ecx
call fcn.180036d80
lea rcx, [0x1800a9de0]
call fcn.18005fbf0
imul eax, dword [rbp + 0x100], 0x72
mov rbx, qword [rbp + 0xf0]
add r14d, eax
mov eax, dword [rbp + 0x100]
jmp 0x1800067c1
cmp r14d, 0x1742
je 0x180006cba
cmp r14d, 0x22d6
je 0x180006b1b
cmp r14d, 0x262f
jne 0x180006e75
mov eax, 0xaf286bcb
mov ecx, r15d
mul r15d
mov eax, r15d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x13
sub ecx, eax
mov eax, 1
shl eax, cl
test eax, 0x4f50c
jne 0x180006dab
mov eax, 0xb21642c9
mov ecx, r15d
mul r15d
shr edx, 4
imul eax, edx, 0x17
sub ecx, eax
mov eax, 1
shl eax, cl
test eax, 0x7acca0
jne 0x180006dab
mov eax, 0x8d3dcb09
mov ecx, r15d
mul r15d
shr edx, 4
imul eax, edx, 0x1d
sub ecx, eax
mov eax, 1
shl eax, cl
test eax, 0xc2edd0c
jne 0x180006dab
imul eax, dword [rbp + 0x100], 0x72
mov rbx, qword [rbp + 0xf0]
add r14d, eax
mov eax, dword [rbp + 0x100]
jmp 0x1800067c1
movzx ecx, byte [r13]
sub ecx, 8
je 0x180006b3c
sub ecx, 1
je 0x180006bb5
cmp ecx, 9
je 0x180006bd7
jmp 0x180006c49
mov ebx, 0x10b
mov eax, ebx
sub eax, 0x10b
je 0x180006b8d
cmp eax, 1
jne 0x180006bab
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov ecx, 0xa7
call fcn.1800472b0
mov qword [r13 + 0x18], rax
imul eax, dword [rbp + 0x100], 0x72
mov r14d, 0x2e6a
mov rbx, qword [rbp + 0xf0]
mov qword [rsp + 0x68], r13
add r14d, eax
mov eax, dword [rbp + 0x100]
jmp 0x1800067c1
lea rcx, str.QTl8TTl8TTl
call fcn.18005fbf0
mov r9d, 0x17
mov r8, r13
xor edx, edx
xor ecx, ecx
call fcn.180044580
inc ebx
cmp ebx, 0x10d
jb 0x180006b41
mov eax, 0xff
nop word [rax + rax]
cmp eax, 0xff
je 0x180006c80
add eax, 0x9e61
cmp eax, 0x9e61
jbe 0x180006bc0
mov ebx, 0xb3
nop dword [rax]
cmp ebx, 0xb3
je 0x180006bf6
cmp ebx, 0x162
je 0x180006b66
jmp 0x180006c3b
lea rcx, str.InvokeDeletePrinter
call fcn.18005fbf0
mov r9d, 0x17
mov r8, r13
xor edx, edx
xor ecx, ecx
call fcn.180044580
mov ecx, dword [r13 + 4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r8d, dword [r13 + 4]
mov edx, 1
mov qword [r13 + 0x18], rax
mov rcx, rax
mov r9, qword [0x1800c9d18]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add ebx, 0xaf
cmp ebx, 0x211
jb 0x180006be0
lea rcx, str.Primary_NOA_bit_10
call fcn.18005fbf0
xor r8d, r8d
xor edx, edx
mov ecx, 0xc1
call fcn.1800373f0
imul eax, dword [rbp + 0x100], 0x72
mov rbx, qword [rbp + 0xf0]
add r14d, eax
mov eax, dword [rbp + 0x100]
jmp 0x1800067c1
lea rcx, str.CoGetMalloc
call fcn.18005fbf0
mov r9d, 0x17
mov r8, r13
xor edx, edx
xor ecx, ecx
call fcn.180044580
xor r9d, r9d
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov edx, 0xd1
xor ecx, ecx
call fcn.18005b070
jmp 0x180006b62
mov edx, dword [rsp + 0x70]
lea rcx, str.V570_NeighbourAbove
call fcn.18005fbf0
movzx edx, byte [r13]
lea rcx, str._curlayer_0_def
call fcn.18005fbf0
imul eax, dword [rbp + 0x100], 0x72
mov rbx, qword [rbp + 0xf0]
add r14d, eax
mov eax, dword [rbp + 0x100]
jmp 0x1800067c1
cmp r14d, 0x8246
ja 0x180006e63
je 0x180006dde
cmp r14d, 0x39fe
je case.0x180006227.36
cmp r14d, 0x4c09
je 0x180006d4e
cmp r14d, 0x71e3
jne 0x180006e75
mov r9d, reloc.SHELL32.dll_SHTestTokenMembership
lea r8, [rbp - 0x70]
xor edx, edx
mov rcx, rbx
call fcn.18001c3e0
mov ecx, edi
test eax, eax
sete cl
mov dword [r12], ecx
jmp 0x180006dab
mov eax, 0x8421085
mov ecx, r15d
mul r15d
mov eax, r15d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x1f
sub ecx, eax
mov eax, 1
shl eax, cl
test eax, 0x6de2b848
jne 0x180006dab
mov r8, rbx
lea rdx, [rbp - 0x70]
mov ecx, 0x16
call fcn.180040120
mov esi, eax
test eax, eax
jne 0x180006dab
lea r8, [rbp - 0x70]
mov ecx, 0xc8
lea rdx, [rbp - 0x70]
call fcn.180045630
mov esi, eax
test eax, eax
je 0x180006e75
mov r8d, 0xa5
lea rdx, [rbp - 0x70]
xor ecx, ecx
mov r14d, 0x71e3
call fcn.180059240
imul eax, dword [rbp + 0x100], 0x72
mov rbx, qword [rbp + 0xf0]
add r14d, eax
mov eax, dword [rbp + 0x100]
jmp 0x1800067c1
mov ebx, edi
mov qword [rsp + 0x58], rdi
lea rax, [rbp - 0x40]
mov qword [rsp + 0x50], rax
lea r9, [rbp + 0x38]
lea rax, [rbp + 8]
mov r14d, 0x8246
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x78]
lea rax, [rbp + 0x50]
mov qword [rsp + 0x40], rax
lea rdx, [rbp - 0x10]
lea rax, [rbp + 0x68]
mov qword [rsp + 0x38], rax
lea rcx, [rbp - 0x28]
lea rax, [rbp + 0x80]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.18005fa00
imul eax, dword [rbp + 0x100], 0x72
mov dword [rsp + 0x68], ebx
mov rbx, qword [rbp + 0xf0]
add r14d, eax
mov eax, dword [rbp + 0x100]
jmp 0x1800067c1
cmp r14d, 0x97bd
je 0x180006e91
cmp r14d, 0x1036a
je case.0x180006227.36
imul eax, dword [rbp + 0x100], 0x72
mov rbx, qword [rbp + 0xf0]
add r14d, eax
mov eax, dword [rbp + 0x100]
jmp 0x1800067c1
mov dword [rsp + 0x68], esi
mov rax, qword [rsp + 0x68]
add rsp, 0x1a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret