Function at 0x14007a430
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push rbp
push r13
push r14
lea rbp, [rsp - 0x2f0]
sub rsp, 0x3f0
mov rax, qword [0x1402a83b0]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
mov r13, rdx
mov qword [rsp + 0x30], rdx
mov r14, rcx
call fcn.140066b70
cmp eax, 0x69636e73
je 0x14007a477
mov eax, 2
jmp 0x14007afa8
mov qword [rsp + 0x420], rbx
mov qword [rsp + 0x3e8], rsi
mov qword [rsp + 0x3e0], rdi
lea rcx, [rbp + 0xc0]
xor edx, edx
mov r8d, 0xf0
mov qword [rsp + 0x3d8], r12
mov qword [rsp + 0x3d0], r15
call fcn.1401c0040
mov rcx, r14
call fcn.140066b70
xor r12d, r12d
mov dword [r13 + 0x6c], r12d
mov rcx, qword [r14]
mov esi, eax
call fcn.1401c2310
lea r15d, [r12 + 0x20]
cmp eax, esi
jge 0x14007a88e
nop dword [rax]
mov rcx, qword [r14]
call fcn.1401c1a94
test eax, eax
jne 0x14007a88e
mov rcx, r14
call fcn.140066b70
mov rcx, r14
mov ebx, eax
call fcn.140066b70
mov ecx, ebx
shr ecx, 8
movzx r10d, bl
mov r8d, ebx
movzx edx, cl
mov ecx, ebx
mov dword [rsp + 0x28], r10d
shr ecx, 0x10
mov dword [rsp + 0x20], edx
shr r8d, 0x18
movzx r9d, cl
lea rcx, str._x____c_c_c_c__n
mov edx, ebx
mov edi, eax
call fcn.1401bdc60
cmp ebx, 0x69637323
ja 0x14007a6e8
je 0x14007a6d5
cmp ebx, 0x69633130
ja 0x14007a657
je 0x14007a61d
sub ebx, 0x49434e23
je 0x14007a60a
sub ebx, 0x1ef51f48
je 0x14007a5f7
sub ebx, 0x12ac2cd
je 0x14007a5bd
dec ebx
jne 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0x18c], 0x69633039
mov dword [rbp + 0x184], 0x200
mov dword [rbp + 0x190], eax
lea eax, [rdi - 8]
mov dword [rbp + 0x180], 0x200
mov dword [rbp + 0x188], eax
jmp 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0x174], 0x69633038
mov dword [rbp + 0x16c], 0x100
mov dword [rbp + 0x178], eax
lea eax, [rdi - 8]
mov dword [rbp + 0x168], 0x100
mov dword [rbp + 0x170], eax
jmp 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0x14c], eax
jmp 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0xec], eax
jmp 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0x1a4], 0x69633130
mov dword [rbp + 0x19c], 0x400
mov dword [rbp + 0x1a8], eax
lea eax, [rdi - 8]
mov dword [rbp + 0x198], 0x400
mov dword [rbp + 0x1a0], eax
jmp 0x14007a86c
sub ebx, 0x69636823
je 0x14007a6c2
sub ebx, 0x15
je 0x14007a696
cmp ebx, 0x400
jne 0x14007a86c
lea eax, [rdi - 8]
mov dword [rbp + 0xe4], 0x69636c38
mov dword [rbp + 0xdc], r15d
mov dword [rbp + 0xe0], eax
mov dword [rbp + 0xd8], r15d
jmp 0x14007a86c
lea eax, [rdi - 8]
mov dword [rbp + 0xfc], 0x69636838
mov dword [rbp + 0xf4], 0x30
mov dword [rbp + 0xf8], eax
mov dword [rbp + 0xf0], 0x30
jmp 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0x104], eax
jmp 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0xd4], eax
jmp 0x14007a86c
cmp ebx, 0x69743332
ja 0x14007a826
je 0x14007a7ef
cmp ebx, 0x69637338
je 0x14007a7c6
cmp ebx, 0x69683332
je 0x14007a78c
cmp ebx, 0x696c3332
je 0x14007a758
cmp ebx, 0x69733332
jne 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0x114], ebx
mov dword [rbp + 0x10c], 0x10
mov dword [rbp + 0x118], eax
lea eax, [rdi - 8]
mov dword [rbp + 0x108], 0x10
mov dword [rbp + 0x110], eax
jmp 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0x12c], 0x696c3332
mov dword [rbp + 0x124], r15d
mov dword [rbp + 0x130], eax
lea eax, [rdi - 8]
mov dword [rbp + 0x120], r15d
mov dword [rbp + 0x128], eax
jmp 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0x144], 0x69683332
mov dword [rbp + 0x13c], 0x30
mov dword [rbp + 0x148], eax
lea eax, [rdi - 8]
mov dword [rbp + 0x138], 0x30
mov dword [rbp + 0x140], eax
jmp 0x14007a86c
lea eax, [rdi - 8]
mov dword [rbp + 0xcc], 0x69637338
mov dword [rbp + 0xc4], 0x10
mov dword [rbp + 0xc8], eax
mov dword [rbp + 0xc0], 0x10
jmp 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0x15c], 0x69743332
mov dword [rbp + 0x154], 0x80
mov dword [rbp + 0x160], eax
lea eax, [rdi - 8]
mov dword [rbp + 0x150], 0x80
mov dword [rbp + 0x158], eax
jmp 0x14007a86c
cmp ebx, 0x6c386d6b
je 0x14007a85e
cmp ebx, 0x73386d6b
je 0x14007a84e
cmp ebx, 0x74386d6b
jne 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0x164], eax
jmp 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0x11c], eax
jmp 0x14007a86c
mov rcx, qword [r14]
call fcn.1401c2310
mov dword [rbp + 0x134], eax
test edi, edi
jle 0x14007a88e
lea eax, [rdi - 8]
mov rcx, r14
movsxd rdx, eax
call fcn.140066ff0
mov rcx, qword [r14]
call fcn.1401c2310
cmp eax, esi
jl 0x14007a4e0
cmp dword [rbp + 0xd0], r12d
je 0x14007a89b
inc dword [r13 + 0x6c]
cmp dword [rbp + 0xe8], r12d
je 0x14007a8a8
inc dword [r13 + 0x6c]
cmp dword [rbp + 0x100], r12d
je 0x14007a8b5
inc dword [r13 + 0x6c]
cmp dword [rbp + 0x118], r12d
je 0x14007a8c2
inc dword [r13 + 0x6c]
cmp dword [rbp + 0x130], r12d
je 0x14007a8cf
inc dword [r13 + 0x6c]
cmp dword [rbp + 0x148], r12d
je 0x14007a8dc
inc dword [r13 + 0x6c]
cmp dword [rbp + 0x160], r12d
je 0x14007a8e9
inc dword [r13 + 0x6c]
cmp dword [rbp + 0x178], r12d
je 0x14007a8f6
inc dword [r13 + 0x6c]
cmp dword [rbp + 0x190], r12d
je 0x14007a903
inc dword [r13 + 0x6c]
cmp dword [rbp + 0x1a8], r12d
je 0x14007a910
inc dword [r13 + 0x6c]
cmp dword [r13 + 0x6c], r12d
jne 0x14007a94a
movups xmm0, xmmword [str.ICNS_:_No_compatible_icon__]
movups xmmword [r13 + 0x74], xmm0
movsd xmm1, qword [0x1402120a8]
movsd qword [r13 + 0x84], xmm1
mov eax, dword [0x1402120b0]
mov dword [r13 + 0x8c], eax
mov eax, 9
jmp 0x14007af80
mov ebx, 9
mov r8d, r12d
lea rcx, [rbp + 0x1a8]
mov edx, ebx
nop dword [rax + rax]
cmp dword [rcx], r12d
je 0x14007a974
mov eax, r8d
inc r8d
cmp dword [r13 + 0xc4], eax
je 0x14007a97f
dec ebx
sub rcx, 0x18
dec rdx
jns 0x14007a960
lea eax, [rbx - 7]
mov esi, 1
lea r15d, [rsi + 5]
cmp eax, 2
ja 0x14007aa72
movsxd rax, ebx
xor r8d, r8d
lea rcx, [rax + rax*2]
mov edi, dword [rbp + rcx*8 + 0xd0]
mov rcx, qword [r14]
mov edx, edi
call fcn.1401c1f88
mov r9, qword [r14]
lea edx, [rsi + 7]
lea rcx, [rbp + 0x1b0]
mov r8d, esi
call fcn.1401c1e14
cmp byte [rbp + 0x1b0], 0x89
jne 0x14007aa72
cmp byte [rbp + 0x1b1], 0x50
jne 0x14007aa72
cmp byte [rbp + 0x1b2], 0x4e
jne 0x14007aa72
cmp byte [rbp + 0x1b3], 0x47
jne 0x14007aa72
cmp byte [rbp + 0x1b4], 0xd
jne 0x14007aa72
cmp byte [rbp + 0x1b5], 0xa
jne 0x14007aa72
cmp byte [rbp + 0x1b6], 0x1a
jne 0x14007aa72
cmp byte [rbp + 0x1b7], 0xa
jne 0x14007aa72
mov rcx, qword [r14]
xor r8d, r8d
mov edx, edi
call fcn.1401c1f88
lea r8, str.ICNS
xor r9d, r9d
mov rdx, r13
mov rcx, r14
call fcn.14007fbc0
test ax, ax
je 0x14007ac11
mov r8d, r12d
mov ebx, r15d
mov edx, r15d
lea rcx, [rbp + 0x160]
cmp dword [rcx], r12d
je 0x14007aa67
mov eax, r8d
inc r8d
cmp dword [r13 + 0xc4], eax
je 0x14007aa72
dec ebx
sub rcx, 0x18
dec rdx
jns 0x14007aa53
lea eax, [rbx - 7]
cmp eax, esi
ja 0x14007aba1
lea rcx, [rbp + 0x1c0]
mov edx, 0x100
mov edi, 2
call fcn.1400661b0
lea rdx, [rbp + 0x1c0]
lea rcx, [rsp + 0x38]
call fcn.140066470
lea edx, [rdi + 0x10]
lea rcx, [rsp + 0x38]
call fcn.140066480
mov qword [rbp + 0x1b0], rax
test rax, rax
je 0x14007ab35
movsxd rcx, ebx
lea rdx, [rcx + rcx*2]
lea rbx, [rdx*8]
movsxd rdi, dword [rbp + rbx + 0xc8]
mov rcx, rdi
call fcn.1401bee78
mov edx, dword [rbp + rbx + 0xd0]
mov rcx, qword [r14]
xor r8d, r8d
mov rsi, rax
call fcn.1401c1f88
mov r9, qword [r14]
mov r8d, 1
mov rdx, rdi
mov rcx, rsi
call fcn.1401c1e14
mov rbx, qword [rbp + 0x1b0]
mov r8d, 1
mov r9, qword [rbx]
mov rdx, rdi
mov rcx, rsi
call fcn.1401c24f8
mov rcx, rbx
call fcn.140066370
mov rcx, rsi
call fcn.1401be23c
mov edi, 2
lea rcx, [rsp + 0x38]
mov edx, 0x11
call fcn.140066480
mov rbx, rax
test rax, rax
je 0x14007ab62
mov rdx, r13
mov rcx, rax
call fcn.1400a1e60
mov rcx, rbx
movzx edi, ax
call fcn.140066370
lea rcx, [rbp + 0x1c0]
call fcn.140065fe0
test di, di
je 0x14007ac11
mov edx, r12d
mov ebx, r15d
lea rcx, [rbp + 0x160]
cmp dword [rcx], r12d
je 0x14007ab96
mov eax, edx
inc edx
cmp dword [r13 + 0xc4], eax
je 0x14007aba1
dec ebx
sub rcx, 0x18
dec r15
jns 0x14007ab84
lea rcx, [rsp + 0x50]
call fcn.140060c40
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov eax, 0x20
movsd xmm0, qword [str.Mac_OS_Icon]
movsd qword [rbp + 0x3e], xmm0
mov word [rsp + 0x72], ax
mov eax, dword [0x1402120c8]
lea rsi, [rcx*8]
mov ecx, dword [rbp + rsi + 0xc0]
mov r15d, dword [rbp + rsi + 0xc8]
mov dword [rbp + 0x46], eax
mov eax, ecx
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x68], ecx
shl eax, 5
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [rsp + 0x78], eax
imul eax, ecx
cmp r15d, eax
jge 0x14007ac1a
mov dword [rsp + 0x58], ecx
jmp 0x14007ac24
movzx eax, r12w
jmp 0x14007af80
mov eax, 1
mov word [rsp + 0x70], ax
mov edx, dword [rbp + rsi + 0xd0]
mov rcx, qword [r14]
xor r8d, r8d
call fcn.1401c1f88
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.14005ee10
movzx edi, ax
test ax, ax
jne 0x14007af7d
mov eax, dword [rbp + rsi + 0xd4]
mov dword [rbp + 0x1b0], eax
cmp ebx, 2
jbe 0x14007adf4
cmp word [rsp + 0x72], 0x20
mov eax, dword [rsp + 0x78]
jne 0x14007ad8a
mov ecx, eax
imul ecx, dword [rsp + 0x6c]
cmp r15d, ecx
jge 0x14007ad8a
cmp dword [rsp + 0x68], 0x80
jne 0x14007acaf
mov rcx, qword [r14]
call fcn.1401c3f28
mov rcx, qword [r14]
call fcn.1401c3f28
mov rcx, qword [r14]
call fcn.1401c3f28
mov rcx, qword [r14]
call fcn.1401c3f28
mov r13d, dword [rbp + 0x1b0]
nop word [rax + rax]
movsxd rbx, r12d
add rbx, qword [rsp + 0x60]
cmp r12d, 3
jne 0x14007ad07
mov rcx, qword [r14]
xor r8d, r8d
mov edx, r13d
call fcn.1401c1f88
mov edi, dword [rsp + 0x68]
imul edi, dword [rsp + 0x6c]
test edi, edi
jle 0x14007ad73
nop dword [rax]
mov rcx, qword [r14]
call fcn.1401c3f28
dec edi
lea rbx, [rbx + 4]
mov byte [rbx - 4], al
test edi, edi
jg 0x14007acf0
jmp 0x14007ad73
mov r15d, dword [rsp + 0x68]
imul r15d, dword [rsp + 0x6c]
test r15d, r15d
jle 0x14007ad73
mov rcx, qword [r14]
call fcn.1401c3f28
movzx edi, al
test al, al
js 0x14007ad46
inc edi
test edi, edi
jle 0x14007ad6b
mov esi, edi
nop
mov rcx, qword [r14]
call fcn.1401c3f28
add rbx, 4
mov byte [rbx - 4], al
dec rsi
jne 0x14007ad30
jmp 0x14007ad6b
mov rcx, qword [r14]
sub edi, 0x7d
call fcn.1401c3f28
test edi, edi
jle 0x14007ad6b
mov ecx, edi
nop word [rax + rax]
mov byte [rbx], al
add rbx, 4
dec rcx
jne 0x14007ad60
sub r15d, edi
test r15d, r15d
jg 0x14007ad17
inc r12d
cmp r12d, 4
jl 0x14007acc0
mov r13, qword [rsp + 0x30]
jmp 0x14007af56
cmp dword [rsp + 0x6c], r12d
jle 0x14007af6d
mov ebx, 1
nop word [rax + rax]
mov r9, qword [r14]
mov rcx, qword [rsp + 0x60]
movsxd rdx, eax
mov r8, rbx
call fcn.1401c1e14
test rax, rax
je 0x14007adea
or r8d, 0xffffffff
mov r9d, ebx
mov rcx, r13
or edx, r8d
call fcn.1400615b0
movzx edi, ax
test ax, ax
jne 0x14007af6d
inc r12d
cmp r12d, dword [rsp + 0x6c]
jge 0x14007af6d
mov eax, dword [rsp + 0x78]
jmp 0x14007ada0
mov edi, 4
jmp 0x14007af6d
movsxd rdi, dword [rsp + 0x68]
movsxd rbx, dword [rsp + 0x6c]
mov eax, edi
imul eax, ebx
movsxd rcx, eax
call fcn.1401bee78
mov r9, qword [r14]
mov r8, rbx
mov rcx, rax
mov rdx, rdi
mov rsi, rax
call fcn.1401c1e14
mov edx, dword [rsp + 0x6c]
mov r9, rsi
mov r11d, r12d
test edx, edx
jle 0x14007aeb9
mov ecx, dword [rsp + 0x68]
mov r8, r12
lea rbx, [0x140211d80]
nop
mov r10d, r12d
test ecx, ecx
jle 0x14007aeb1
nop word [rax + rax]
movzx eax, byte [r9]
inc r10d
inc r9
lea ecx, [rax + rax*2]
mov rax, qword [rsp + 0x60]
add r8, 4
movzx ecx, byte [rcx + rbx]
mov byte [rax + r8 - 4], cl
movzx eax, byte [r9 - 1]
lea ecx, [rax*2 + 1]
add ecx, eax
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rcx + rbx]
mov byte [rax + r8 - 3], cl
movzx eax, byte [r9 - 1]
lea ecx, [rax + 1]
lea ecx, [rax + rcx*2]
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rcx + rbx]
mov byte [rax + r8 - 2], cl
mov ecx, dword [rsp + 0x68]
cmp r10d, ecx
jl 0x14007ae50
mov edx, dword [rsp + 0x6c]
inc r11d
cmp r11d, edx
jl 0x14007ae40
mov edx, dword [rbp + 0x1b0]
mov rcx, qword [r14]
xor r8d, r8d
call fcn.1401c1f88
mov eax, dword [rsp + 0x68]
movsxd r8, dword [rsp + 0x6c]
mov r9, qword [r14]
cdq
mov rcx, rsi
and edx, 7
add eax, edx
sar eax, 3
movsxd rdx, eax
call fcn.1401c1e14
mov ecx, dword [rsp + 0x6c]
mov rdx, rsi
mov r10b, 8
mov r11d, r12d
test ecx, ecx
jle 0x14007af4e
mov eax, dword [rsp + 0x68]
mov r9d, 3
mov r8d, r12d
test eax, eax
jle 0x14007af46
nop dword [rax]
movzx eax, byte [rdx]
and al, 0x80
neg al
mov rax, qword [rsp + 0x60]
sbb cl, cl
mov byte [rax + r9], cl
add r10b, 0xff
jne 0x14007af30
inc rdx
mov r10b, 8
jmp 0x14007af32
shl byte [rdx], 1
mov eax, dword [rsp + 0x68]
inc r8d
add r9, 4
cmp r8d, eax
jl 0x14007af10
mov ecx, dword [rsp + 0x6c]
inc r11d
cmp r11d, ecx
jl 0x14007af05
mov rcx, rsi
call fcn.1401be23c
mov r9d, dword [rsp + 0x6c]
or r8d, 0xffffffff
mov rcx, r13
or edx, r8d
call fcn.1400615b0
movzx edi, ax
xor r8d, r8d
xor edx, edx
xor r9d, r9d
mov rcx, r13
call fcn.14005cb20
movzx eax, di
mov r12, qword [rsp + 0x3d8]
mov rdi, qword [rsp + 0x3e0]
mov rsi, qword [rsp + 0x3e8]
mov rbx, qword [rsp + 0x420]
mov r15, qword [rsp + 0x3d0]
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.1401bd600
add rsp, 0x3f0
pop r14
pop r13
pop rbp
ret