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

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
lea edi, [ebp - 4]
xor eax, eax
push ebp
push 0x477c90
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x80
push 3
push 0
push 0
push 0xc0000000
lea edx, [ebp - 0xc]
mov eax, 0x477ca8
call fcn.00475a4c
mov eax, dword [ebp - 0xc]
call fcn.004051a8
push eax
call sub.kernel32.dll_CreateFileA_1
mov ebx, eax
lea eax, [ebp - 8]
mov edx, 0x400
call fcn.00405334
push 0
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
mov esi, 1
mov eax, 0x1a
call fcn.00403638
add eax, 0x3f
push eax
lea eax, [ebp - 8]
call fcn.00405200
pop edx
mov byte [eax + esi - 1], dl
inc esi
cmp esi, 0x401
jne 0x4776a9
push 0
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
call fcn.00402f94
mov esi, 0x30d40
push 1
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
mov eax, 0x64
call fcn.00403638
inc eax
cmp eax, 0x4b
jle 0x477744
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
dec esi
jne 0x4776fa
push ebx
call sub.kernel32.dll_CloseHandle_1
push 0
push 0x80
push 3
push 0
push 0
push 0xc0000000
lea edx, [ebp - 0x10]
mov eax, 0x477ccc
call fcn.00475a4c
mov eax, dword [ebp - 0x10]
call fcn.004051a8
push eax
call sub.kernel32.dll_CreateFileA_1
mov ebx, eax
lea eax, [ebp - 8]
mov edx, 0x400
call fcn.00405334
push 0
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
mov esi, 1
mov eax, 0x1a
call fcn.00403638
add eax, 0x3f
push eax
lea eax, [ebp - 8]
call fcn.00405200
pop edx
mov byte [eax + esi - 1], dl
inc esi
cmp esi, 0x401
jne 0x4777b1
push 0
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
call fcn.00402f94
mov esi, 0x30d40
push 1
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
mov eax, 0x64
call fcn.00403638
inc eax
cmp eax, 0x4b
jle 0x47784c
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
dec esi
jne 0x477802
push ebx
call sub.kernel32.dll_CloseHandle_1
push 0
push 0x80
push 3
push 0
push 0
push 0xc0000000
lea edx, [ebp - 0x14]
mov eax, 0x477cf0
call fcn.00475a4c
mov eax, dword [ebp - 0x14]
call fcn.004051a8
push eax
call sub.kernel32.dll_CreateFileA_1
mov ebx, eax
lea eax, [ebp - 8]
mov edx, 0x400
call fcn.00405334
push 0
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
mov esi, 1
mov eax, 0x1a
call fcn.00403638
add eax, 0x3f
push eax
lea eax, [ebp - 8]
call fcn.00405200
pop edx
mov byte [eax + esi - 1], dl
inc esi
cmp esi, 0x401
jne 0x4778b9
push 0
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
call fcn.00402f94
mov esi, 0x30d40
push 1
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
mov eax, 0x64
call fcn.00403638
inc eax
cmp eax, 0x4b
jle 0x477954
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
dec esi
jne 0x47790a
push ebx
call sub.kernel32.dll_CloseHandle_1
push 0
push 0x80
push 3
push 0
push 0
push 0xc0000000
lea edx, [ebp - 0x18]
mov eax, 0x477d14
call fcn.00475a4c
mov eax, dword [ebp - 0x18]
call fcn.004051a8
push eax
call sub.kernel32.dll_CreateFileA_1
mov ebx, eax
lea eax, [ebp - 8]
mov edx, 0x400
call fcn.00405334
push 0
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
mov esi, 1
mov eax, 0x1a
call fcn.00403638
add eax, 0x3f
push eax
lea eax, [ebp - 8]
call fcn.00405200
pop edx
mov byte [eax + esi - 1], dl
inc esi
cmp esi, 0x401
jne 0x4779c1
push 0
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
call fcn.00402f94
mov esi, 0x30d40
push 1
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
mov eax, 0x64
call fcn.00403638
inc eax
cmp eax, 0x4b
jle 0x477a5c
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
dec esi
jne 0x477a12
push ebx
call sub.kernel32.dll_CloseHandle_1
push 0
push 0x80
push 3
push 0
push 0
push 0xc0000000
lea edx, [ebp - 0x1c]
mov eax, 0x477d38
call fcn.00475a4c
mov eax, dword [ebp - 0x1c]
call fcn.004051a8
push eax
call sub.kernel32.dll_CreateFileA_1
mov ebx, eax
lea eax, [ebp - 8]
mov edx, 0x400
call fcn.00405334
push 0
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
mov esi, 1
mov eax, 0x1a
call fcn.00403638
add eax, 0x3f
push eax
lea eax, [ebp - 8]
call fcn.00405200
pop edx
mov byte [eax + esi - 1], dl
inc esi
cmp esi, 0x401
jne 0x477ac9
push 0
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
call fcn.00402f94
mov esi, 0x30d40
push 1
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
mov eax, 0x64
call fcn.00403638
inc eax
cmp eax, 0x4b
jle 0x477b64
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
dec esi
jne 0x477b1a
push ebx
call sub.kernel32.dll_CloseHandle_1
push 0
push 0x80
push 3
push 0
push 0
push 0xc0000000
lea edx, [ebp - 0x20]
mov eax, 0x477d5c
call fcn.00475a4c
mov eax, dword [ebp - 0x20]
call fcn.004051a8
push eax
call sub.kernel32.dll_CreateFileA_1
mov ebx, eax
lea eax, [ebp - 8]
mov edx, 0x400
call fcn.00405334
push 0
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
mov esi, 1
mov eax, 0x1a
call fcn.00403638
add eax, 0x3f
push eax
lea eax, [ebp - 8]
call fcn.00405200
pop edx
mov byte [eax + esi - 1], dl
inc esi
cmp esi, 0x401
jne 0x477bd1
push 0
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
call fcn.00402f94
mov esi, 0x30d40
push 1
push 0
push 0
push ebx
call sub.kernel32.dll_SetFilePointer_1
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
mov eax, 0x64
call fcn.00403638
inc eax
cmp eax, 0x4b
jle 0x477c6c
push 0
push edi
push 0x400
lea eax, [ebp - 8]
call fcn.00405200
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
dec esi
jne 0x477c22
push ebx
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x477c97
lea eax, [ebp - 0x20]
mov edx, 7
call fcn.00404d0c
ret