Function at 0x1400741e0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x370
mov rax, qword [0x1402bf5c8]
xor rax, rsp
mov qword [rsp + 0x360], rax
mov r14, rcx
mov qword [rsp + 0x50], rcx
mov r13, rcx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0xa0], rdx
xor edi, edi
mov dword [rsp + 0x60], edi
cmp byte [0x1402d2019], dil
jne 0x140075697
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 8
jb 0x140074245
mov rdx, qword [rdx]
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], 7
mov word [rsp + 0x80], di
lea rcx, [rsp + 0x80]
call fcn.140018360
nop
xor edx, edx
mov r8d, 0x20a
lea rcx, [rsp + 0x150]
call fcn.1401d04f0
mov r8d, 0x104
lea rdx, [rsp + 0x150]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rax, [rsp + 0x150]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp word [rax + r8*2], 0
jne 0x1400742b4
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], 7
mov word [rsp + 0xc8], di
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0xc8]
call fcn.140018360
nop
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x130]
call fcn.140069070
nop
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.1400847d0
nop
lea rdx, [rsp + 0x110]
mov rcx, rax
call fcn.1400847d0
nop
lea rcx, [rsp + 0x60]
call fcn.1400272a0
nop
lea rcx, [rsp + 0x130]
call fcn.1400272a0
nop
lea rcx, [rsp + 0xc8]
call fcn.1400272a0
nop
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0xa8]
call fcn.140018e70
nop
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xa8]
call fcn.1400575b0
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.140018e70
nop
lea rcx, [rsp + 0xa8]
call fcn.1400272a0
nop
lea rcx, [rsp + 0x110]
call fcn.1400272a0
nop
lea rcx, [rsp + 0x80]
call fcn.1400272a0
lea rcx, [rsp + 0xe8]
cmp qword [rsp + 0x100], 8
cmovae rcx, qword [rsp + 0xe8]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rsp + 0xc8]
call fcn.1401ab8d4
mov edx, eax
test eax, eax
jne 0x14007442c
mov ecx, dword [rsp + 0xd8]
bt ecx, 0xa
jae 0x140074421
mov eax, dword [rsp + 0xdc]
cmp eax, 0xa000000c
jne 0x140074413
lea ecx, [rdx + 4]
jmp 0x140074447
cmp eax, 0xa0000003
jne 0x140074421
mov ecx, 0xa
jmp 0x140074447
and ecx, 0x10
or ecx, 0x20
shr ecx, 4
jmp 0x140074447
sub eax, 2
je 0x140074442
sub eax, 1
je 0x140074442
sub eax, 0x32
je 0x140074442
cmp eax, 0x46
mov ecx, edi
jne 0x140074447
mov ecx, 1
mov dword [rsp + 0x60], edx
lea rax, [0x1402c05e0]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
test ecx, ecx
je 0x1400756d1
cmp ecx, 1
je 0x140075689
lea rcx, [rsp + 0xe8]
cmp qword [rsp + 0x100], 8
cmovae rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
jne 0x1400744dc
lea rcx, [rsp + 0xe8]
call fcn.1400272a0
nop
mov rcx, qword [rsp + 0xa0]
call fcn.1400272a0
jmp 0x1400756a4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0xe8]
cmp qword [rsp + 0x100], 8
cmovae rcx, qword [rsp + 0xe8]
mov r9d, 0xffffffff
mov r15d, 9
mov r8d, r15d
lea rdx, [rsp + 0x130]
call fcn.1401ab8d4
test eax, eax
jne 0x140075745
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], rdi
mov rsi, qword [rsp + 0x138]
test rsi, rsi
je 0x1400745e0
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
ja 0x1400756ee
lea rdi, [rsi + rsi]
cmp rdi, 0x1000
jb 0x14007459d
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x1400756f3
call fcn.1401a9cf4
test rax, rax
je 0x1400756f8
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1400745b3
test rdi, rdi
je 0x1400745af
mov rcx, rdi
call fcn.1401a9cf4
mov rcx, rax
jmp 0x1400745b3
xor eax, eax
mov ecx, eax
mov qword [rsp + 0x110], rcx
lea r14, [rdi + rcx]
mov qword [rsp + 0x120], r14
mov r8, rdi
xor edx, edx
call fcn.1401d04f0
mov qword [rsp + 0x118], r14
mov r14, qword [rsp + 0x50]
xor edi, edi
mov dword [rsp + 0x108], edi
mov r8, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x110]
sub r8, rdx
sar r8, 1
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x108]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
mov r8d, 0xf8
lea rcx, [rsp + 0x150]
call fcn.1401d04f0
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], 7
mov word [rsp + 0xc8], di
mov rdx, qword [rsp + 0x110]
nop dword [rax]
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x140074660
mov r8, rbx
lea rcx, [rsp + 0xc8]
call fcn.140018360
nop
lea rax, [0x14027e400]
mov qword [rsp + 0x150], rax
lea rax, [0x14027e4b0]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x1f0], rdi
mov qword [rsp + 0x218], rdi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x220], xmm0
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + 0x1e8], rax
mov dword [rsp + 0x60], 0xdf
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0x150]
call fcn.14002a0a0
nop
mov rax, qword [rsp + 0x160]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x160], rax
mov rax, qword [rsp + 0x160]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x15c], edx
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x150], rax
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rsp + rcx + 0x14c], edx
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x150], rax
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x14c], edx
lea rax, [rsp + 0x168]
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x168]
call fcn.14002a320
nop
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + 0x168], rax
mov edi, 0x20
mov rax, qword [rsp + 0xe0]
cmp rax, 8
jb 0x1400747c9
mov rdx, qword [rsp + 0xc8]
lea r15, [rax + 1]
jmp 0x1400747e1
mov ecx, 0x12
call fcn.1401a9cf4
mov rdx, rax
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [rax], xmm0
test r15, r15
je 0x140074858
mov rax, qword [rsp + 0xd8]
lea rcx, [rdx + rax*2]
mov qword [rsp + 0x1d0], rcx
mov rax, qword [rsp + 0x188]
mov qword [rax], rdx
mov rax, qword [rsp + 0x1a8]
mov qword [rax], rdx
lea rcx, [r15 + r15]
sar rcx, 1
mov rax, qword [rsp + 0x1c0]
mov dword [rax], ecx
mov rcx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x180]
mov qword [rax], rdx
mov rax, qword [rsp + 0x1a0]
mov qword [rax], rdx
sub rcx, rdx
sar rcx, 1
mov rax, qword [rsp + 0x1b8]
mov dword [rax], ecx
mov edi, 0x21
xor eax, eax
jmp 0x140074862
xor eax, eax
mov qword [rsp + 0x1d0], rax
mov dword [rsp + 0x1d8], edi
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], 7
mov word [rsp + 0xa8], ax
lea r12, [0x140239d30]
lea r15, [0x140239d2c]
lea rsi, [0x140239d28]
lea rbx, str.GRDW
nop dword [rax]
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x150]
add rcx, rax
mov dl, 0xa
call fcn.14002b6f0
movzx r8d, ax
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040c90
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x14007561d
lea r8, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 8
cmovae r8, qword [rsp + 0xa8]
cmp qword [rsp + 0xb8], 1
jne 0x1400749fe
mov edi, 1
mov rcx, rbx
movzx eax, word [r8]
mov edx, 0x47
cmp ax, dx
jb 0x1400749fe
sub r8, rbx
cmp ax, dx
ja 0x1400749fe
cmp rdi, 1
je 0x140074967
dec rdi
add rcx, 2
movzx eax, word [r8 + rcx]
movzx edx, word [rcx]
cmp ax, dx
jae 0x140074942
jmp 0x1400749fe
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x150]
add rcx, rax
mov dl, 0xa
call fcn.14002b6f0
movzx r8d, ax
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040c90
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x1400749fe
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0xa8]
call fcn.14009c090
cmp byte [r13 + 0xfd0], 0
jne 0x1400749d1
mov byte [r13 + 0xfd0], 1
mov dword [r14 + 0xfcc], eax
jmp 0x1400749fe
lea r8, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 8
cmovae r8, qword [rsp + 0xa8]
cmp qword [rsp + 0xb8], 1
jne 0x140074b03
mov edi, 1
mov rcx, rsi
movzx eax, word [r8]
mov edx, 0x52
cmp ax, dx
jb 0x140074b03
sub r8, rsi
cmp ax, dx
ja 0x140074b03
cmp rdi, 1
je 0x140074a6c
dec rdi
add rcx, 2
movzx eax, word [r8 + rcx]
movzx edx, word [rcx]
cmp ax, dx
jae 0x140074a47
jmp 0x140074b03
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x150]
add rcx, rax
mov dl, 0xa
call fcn.14002b6f0
movzx r8d, ax
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040c90
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x140074b03
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0xa8]
call fcn.14009c090
cmp byte [r13 + 0xfd8], 0
jne 0x140074ad6
mov byte [r13 + 0xfd8], 1
mov dword [r14 + 0xfd4], eax
jmp 0x140074b03
lea r8, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 8
cmovae r8, qword [rsp + 0xa8]
cmp qword [rsp + 0xb8], 1
jne 0x140074c08
mov edi, 1
mov rcx, r15
movzx eax, word [r8]
mov edx, MsiGetPropertyW
cmp ax, dx
jb 0x140074c08
sub r8, r15
cmp ax, dx
ja 0x140074c08
cmp rdi, 1
je 0x140074b71
dec rdi
add rcx, 2
movzx eax, word [rcx + r8]
movzx edx, word [rcx]
cmp ax, dx
jae 0x140074b4c
jmp 0x140074c08
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x150]
add rcx, rax
mov dl, 0xa
call fcn.14002b6f0
movzx r8d, ax
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040c90
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x140074c08
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0xa8]
call fcn.14009c090
cmp byte [r13 + 0xfe8], 0
jne 0x140074bdb
mov byte [r13 + 0xfe8], 1
mov dword [r14 + 0xfe4], eax
jmp 0x140074c08
lea r8, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 8
cmovae r8, qword [rsp + 0xa8]
cmp qword [rsp + 0xb8], 1
jne 0x140074d0d
mov edi, 1
mov rcx, r12
movzx eax, word [r8]
mov edx, MsiOpenDatabaseW
cmp ax, dx
jb 0x140074d0d
sub r8, r12
cmp ax, dx
ja 0x140074d0d
cmp rdi, 1
je 0x140074c76
dec rdi
add rcx, 2
movzx eax, word [r8 + rcx]
movzx edx, word [rcx]
cmp ax, dx
jae 0x140074c51
jmp 0x140074d0d
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x150]
add rcx, rax
mov dl, 0xa
call fcn.14002b6f0
movzx r8d, ax
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040c90
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x140074d0d
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0xa8]
call fcn.14009c090
cmp byte [r13 + 0xfe0], 0
jne 0x140074ce0
mov byte [r13 + 0xfe0], 1
mov dword [r14 + 0xfdc], eax
jmp 0x140074d0d
lea r9, [0x140239d38]
lea r8, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 8
cmovae r8, qword [rsp + 0xa8]
cmp qword [rsp + 0xb8], 3
jne 0x140074e4b
mov edi, 3
mov rcx, r9
movzx eax, word [r8]
mov edx, 0x47
cmp ax, dx
jb 0x140074e4b
sub r8, r9
cmp ax, dx
ja 0x140074e4b
cmp rdi, 1
je 0x140074d82
dec rdi
add rcx, 2
movzx eax, word [r8 + rcx]
movzx edx, word [rcx]
cmp ax, dx
jae 0x140074d5d
jmp 0x140074e4b
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x150]
add rcx, rax
mov dl, 0xa
call fcn.14002b6f0
movzx r8d, ax
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040c90
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x140074e4b
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0xa8]
call fcn.14009c090
movsxd rcx, eax
cmp byte [r14 + 0xff0], 0
je 0x140074e0c
cmp byte [r13 + 0xff0], 0
je 0x1400756fe
mov eax, dword [r13 + 0xfec]
add rax, rcx
mov dword [r14 + 0xfec], eax
jmp 0x140074e25
mov dword [r13 + 0xfec], ecx
cmp byte [r13 + 0xff0], 0
jne 0x140074e25
mov byte [r13 + 0xff0], 1
jmp 0x140074e4b
lea r9, [0x140239d40]
lea r8, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 8
cmovae r8, qword [rsp + 0xa8]
cmp qword [rsp + 0xb8], 3
jne 0x140074f89
mov edi, 3
mov rcx, r9
movzx eax, word [r8]
mov edx, 0x47
cmp ax, dx
jb 0x140074f89
sub r8, r9
cmp ax, dx
ja 0x140074f89
cmp rdi, 1
je 0x140074ec0
dec rdi
add rcx, 2
movzx eax, word [r8 + rcx]
movzx edx, word [rcx]
cmp ax, dx
jae 0x140074e9b
jmp 0x140074f89
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x150]
add rcx, rax
mov dl, 0xa
call fcn.14002b6f0
movzx r8d, ax
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040c90
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x140074f89
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0xa8]
call fcn.14009c090
movsxd rcx, eax
cmp byte [r14 + 0x1000], 0
je 0x140074f4a
cmp byte [r13 + 0x1000], 0
je 0x140075704
mov eax, dword [r13 + 0xffc]
add rax, rcx
mov dword [r14 + 0xffc], eax
jmp 0x140074f63
mov dword [r13 + 0xffc], ecx
cmp byte [r13 + 0x1000], 0
jne 0x140074f63
mov byte [r13 + 0x1000], 1
jmp 0x140074f89
lea r9, [0x140239d48]
lea r8, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 8
cmovae r8, qword [rsp + 0xa8]
cmp qword [rsp + 0xb8], 3
jne 0x1400750a5
mov edi, 3
mov rcx, r9
movzx eax, word [r8]
mov edx, 0x52
cmp ax, dx
jb 0x1400750a5
sub r8, r9
cmp ax, dx
ja 0x1400750a5
cmp rdi, 1
je 0x140074ffe
dec rdi
add rcx, 2
movzx eax, word [r8 + rcx]
movzx edx, word [rcx]
cmp ax, dx
jae 0x140074fd9
jmp 0x1400750a5
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040f30
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x1400750a5
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0xa8]
call fcn.14009c090
movsxd rcx, eax
cmp byte [r14 + 0xff8], 0
je 0x140075066
cmp byte [r13 + 0xff8], 0
je 0x14007570a
mov eax, dword [r13 + 0xff4]
add rax, rcx
mov dword [r14 + 0xff4], eax
jmp 0x14007507f
mov dword [r13 + 0xff4], ecx
cmp byte [r13 + 0xff8], 0
jne 0x14007507f
mov byte [r13 + 0xff8], 1
jmp 0x1400750a5
lea r9, [0x140239d50]
lea r8, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 8
cmovae r8, qword [rsp + 0xa8]
cmp qword [rsp + 0xb8], 3
jne 0x1400751c1
mov edi, 3
mov rcx, r9
movzx eax, word [r8]
mov edx, 0x52
cmp ax, dx
jb 0x1400751c1
sub r8, r9
cmp ax, dx
ja 0x1400751c1
cmp rdi, 1
je 0x14007511a
dec rdi
add rcx, 2
movzx eax, word [r8 + rcx]
movzx edx, word [rcx]
cmp ax, dx
jae 0x1400750f5
jmp 0x1400751c1
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040f30
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x1400751c1
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0xa8]
call fcn.14009c090
movsxd rcx, eax
cmp byte [r14 + 0x1008], 0
je 0x140075182
cmp byte [r13 + 0x1008], 0
je 0x140075710
mov eax, dword [r13 + 0x1004]
add rax, rcx
mov dword [r14 + 0x1004], eax
jmp 0x14007519b
mov dword [r13 + 0x1004], ecx
cmp byte [r13 + 0x1008], 0
jne 0x14007519b
mov byte [r13 + 0x1008], 1
jmp 0x1400751c1
lea r9, [0x140239d58]
lea r8, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 8
cmovae r8, qword [rsp + 0xa8]
cmp qword [rsp + 0xb8], 3
jne 0x1400752dd
mov edi, 3
mov rcx, r9
movzx eax, word [r8]
mov edx, 0x50
cmp ax, dx
jb 0x1400752dd
sub r8, r9
cmp ax, dx
ja 0x1400752dd
cmp rdi, 1
je 0x140075236
dec rdi
add rcx, 2
movzx eax, word [r8 + rcx]
movzx edx, word [rcx]
cmp ax, dx
jae 0x140075211
jmp 0x1400752dd
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040f30
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x1400752dd
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0xa8]
call fcn.14009c090
movsxd rcx, eax
cmp byte [r14 + 0x1010], 0
je 0x14007529e
cmp byte [r13 + 0x1010], 0
je 0x140075716
mov eax, dword [r13 + 0x100c]
add rax, rcx
mov dword [r14 + 0x100c], eax
jmp 0x1400752b7
mov dword [r13 + 0x100c], ecx
cmp byte [r13 + 0x1010], 0
jne 0x1400752b7
mov byte [r13 + 0x1010], 1
jmp 0x1400752dd
lea r9, [0x140239d60]
lea r8, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 8
cmovae r8, qword [rsp + 0xa8]
cmp qword [rsp + 0xb8], 3
jne 0x1400753f9
mov edi, 3
mov rcx, r9
movzx eax, word [r8]
mov edx, 0x50
cmp ax, dx
jb 0x1400753f9
sub r8, r9
cmp ax, dx
ja 0x1400753f9
cmp rdi, 1
je 0x140075352
dec rdi
add rcx, 2
movzx eax, word [r8 + rcx]
movzx edx, word [rcx]
cmp ax, dx
jae 0x14007532d
jmp 0x1400753f9
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040f30
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x1400753f9
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0xa8]
call fcn.14009c090
movsxd rcx, eax
cmp byte [r14 + 0x1028], 0
je 0x1400753ba
cmp byte [r13 + 0x1028], 0
je 0x14007571c
mov eax, dword [r13 + 0x1024]
add rax, rcx
mov dword [r14 + 0x1024], eax
jmp 0x1400753d3
mov dword [r13 + 0x1024], ecx
cmp byte [r13 + 0x1028], 0
jne 0x1400753d3
mov byte [r13 + 0x1028], 1
jmp 0x1400753f9
lea r9, [0x140239d68]
lea r8, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 8
cmovae r8, qword [rsp + 0xa8]
cmp qword [rsp + 0xb8], 3
jne 0x140075515
mov edi, 3
mov rcx, r9
movzx eax, word [r8]
mov edx, 0x52
cmp ax, dx
jb 0x140075515
sub r8, r9
cmp ax, dx
ja 0x140075515
cmp rdi, 1
je 0x14007546e
dec rdi
add rcx, 2
movzx eax, word [r8 + rcx]
movzx edx, word [rcx]
cmp ax, dx
jae 0x140075449
jmp 0x140075515
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040f30
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x140075515
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0xa8]
call fcn.14009c090
movsxd rcx, eax
cmp byte [r14 + 0x1020], 0
je 0x1400754d6
cmp byte [r13 + 0x1020], 0
je 0x140075722
mov eax, dword [r13 + 0x101c]
add rax, rcx
mov dword [r14 + 0x101c], eax
jmp 0x1400754ef
mov dword [r13 + 0x101c], ecx
cmp byte [r13 + 0x1020], 0
jne 0x1400754ef
mov byte [r13 + 0x1020], 1
jmp 0x140075515
lea r9, [0x140239d70]
lea r8, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 8
cmovae r8, qword [rsp + 0xa8]
cmp qword [rsp + 0xb8], 3
jne 0x1400748b0
mov edi, 3
mov rcx, r9
movzx eax, word [r8]
mov edx, 0x47
cmp ax, dx
jb 0x1400748b0
sub r8, r9
cmp ax, dx
ja 0x1400748b0
cmp rdi, 1
je 0x14007558a
dec rdi
add rcx, 2
movzx eax, word [r8 + rcx]
movzx edx, word [rcx]
cmp ax, dx
jae 0x140075565
jmp 0x1400748b0
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x150]
call fcn.140040f30
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x1400748b0
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0xa8]
call fcn.14009c090
movsxd rcx, eax
cmp byte [r14 + 0x1018], 0
je 0x1400755f2
cmp byte [r13 + 0x1018], 0
je 0x140075728
mov eax, dword [r13 + 0x1014]
add rax, rcx
mov dword [r14 + 0x1014], eax
jmp 0x14007560b
mov dword [r13 + 0x1014], ecx
cmp byte [r13 + 0x1018], 0
jne 0x14007560b
mov byte [r13 + 0x1018], 1
jmp 0x1400748b0
call fcn.1400d25b0
cmp byte [rax + 0x140], 0
jne 0x140075658
lea rcx, [rsp + 0xe8]
cmp qword [rsp + 0x100], 8
cmovae rcx, qword [rsp + 0xe8]
call fcn.1401abcf0
shr rax, 0x20
test eax, eax
jne 0x14007572e
jmp 0x14007565f
mov byte [0x1402d2019], 1
lea rcx, [rsp + 0xa8]
call fcn.1400272a0
nop
lea rcx, [rsp + 0x150]
call fcn.140019440
nop
lea rcx, [rsp + 0x110]
call fcn.1400213d0
nop
lea rcx, [rsp + 0xe8]
call fcn.1400272a0
nop
mov rcx, qword [rsp + 0xa0]
call fcn.1400272a0
mov rcx, qword [rsp + 0x360]
xor rcx, rsp
call fcn.1401a9a30
lea r11, [rsp + 0x370]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
test edx, edx
je 0x140075689
lea r8, [rsp + 0xe8]
lea rdx, [rsp + 0x60]
lea rcx, str.exists
call fcn.1400684b0
call fcn.140022340
call fcn.140014d90
call fcn.1401e3dbc
nop
call fcn.140068480
nop
call fcn.140068480
nop
call fcn.140068480
nop
call fcn.140068480
nop
call fcn.140068480
nop
call fcn.140068480
nop
call fcn.140068480
nop
call fcn.140068480
nop
lea r8, [rsp + 0xe8]
mov edx, eax
lea rcx, str.remove
call fcn.1400685e0
nop
lea r8, [rsp + 0xe8]
mov edx, eax
lea rcx, str.file_size
call fcn.1400685e0
int3