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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x638
push ebx
push esi
lea eax, [ebp - 0x430]
push edi
push eax
xor esi, esi
push dword [ebp + 8]
mov edi, 0x320
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], esi
call fcn.7cf71c3a
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x430]
push 0x7cf320a0
push eax
lea eax, [ebp - 0x638]
push eax
call ebx
push esi
push 0x10000002
push 3
push esi
push 3
lea eax, [ebp - 0x638]
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [ebp - 8], eax
je 0x7cf72953
lea ecx, [ebp - 0x20]
push esi
push ecx
lea ecx, [ebp - 0x1c]
push 0x14
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 0x20], 0x14
jne 0x7cf72917
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 8]
call fcn.7cf721d3
mov dword [ebp - 4], eax
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 4], esi
je 0x7cf729c9
lea eax, [ebp - 0x430]
push 0x7cf32094
push eax
lea eax, [ebp - 0x228]
push eax
call ebx
lea eax, [ebp - 0x228]
push 1
push eax
lea eax, [ebp - 0x638]
push eax
call fcn.7cf9ce11
cmp dword [ebp - 4], esi
jne 0x7cf72aa7
push esi
push esi
push dword [ebp + 8]
call fcn.7cf747ae
mov ebx, eax
cmp ebx, 0xffffffff
je 0x7cf72a9c
push esi
push esi
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [ebp - 0x20]
push esi
push eax
lea eax, [ebp - 0x1c]
push 0x14
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp + 8]
push ebx
call fcn.7cf74762
cmp dword [ebp - 0x20], 0x14
jne 0x7cf729c9
cmp dword [ebp - 0x1c], 5
jg 0x7cf729c9
cmp dword [ebp - 0x10], 0x118
je 0x7cf729b0
cmp dword [ebp - 0x10], edi
jne 0x7cf729c9
cmp dword [ebp - 0x1c], 5
je 0x7cf72a8e
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.7cf721d3
jmp 0x7cf72aa4
mov eax, dword [ebp + 8]
lea ebx, [eax*4 + 0x7d04c708]
mov eax, dword [eax*4 + 0x7d04c708]
mov dword [eax + 0x18], 1
lea eax, [ebp - 0x228]
push eax
push dword [ebp + 8]
call fcn.7cf71bf3
lea eax, [ebp - 0x228]
push eax
push 0x10034
push 0x2304
push 0x2308
push esi
push dword [0x7d04cdfc]
call sym.SHELL32.dll_ShellMessageBoxW
add esp, 0x18
cmp eax, 6
jne 0x7cf72a2d
push 1
push dword [ebp + 8]
push esi
call fcn.7cf75188
push 1
pop eax
jmp 0x7cf72abf
push esi
push 1
push dword [ebp + 8]
call fcn.7cf747ae
cmp eax, 0xffffffff
mov dword [ebp - 8], eax
je 0x7cf72a97
cmp dword [ebp - 0x10], edi
mov dword [ebp - 0x1c], 5
je 0x7cf72a58
cmp dword [ebp - 0x10], 0x118
je 0x7cf72a58
mov dword [ebp - 0x10], edi
mov edx, dword [ebx]
xor ecx, ecx
cmp dword [ebp - 0x10], edi
push esi
push esi
push esi
sete cl
push eax
mov dword [edx + 0x18], ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [ebp - 4]
push esi
push eax
lea eax, [ebp - 0x1c]
push 0x14
push eax
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_WriteFile]
push dword [ebp + 8]
push dword [ebp - 8]
call fcn.7cf74762
mov dword [ebp - 4], 1
jmp 0x7cf72aa7
mov dword [ebp - 4], esi
jmp 0x7cf72aa7
push dword [ebp + 8]
call fcn.7cf7235e
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
xor eax, eax
cmp dword [ebp - 0x10], edi
mov ecx, dword [ecx*4 + 0x7d04c708]
sete al
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 4