Function at 0x4f8447
Capabilities:
Write file on windows

Disassembly:
push 0x138
push 0x5c09b0
call fcn.0052a9ec
mov ebx, ecx
mov byte [ebp - 0x128], 0
push 0x103
xor esi, esi
push esi
lea eax, [ebp - 0x127]
push eax
call fcn.005117f0
add esp, 0xc
call fcn.00415b26
test eax, eax
jne 0x4f8486
xor eax, eax
jmp 0x4f8a03
mov dword [ebp - 4], esi
cmp ebx, 0xffffffff
jne 0x4f84f1
call fcn.004f16be
mov edi, eax
cmp dword [0x6dfe74], esi
je 0x4f84b6
call fcn.004f16be
sub eax, edi
cmp eax, 0x7d0
jbe 0x4f84e7
push str.:6:SaveProgress____for_tracking_and_logging_screen_shots__encountered_a_problem:_The_function_would_not_unlock_
call fcn.004265da
pop ecx
mov edi, 0x6e0fd0
push edi
call fcn.004d5db0
mov dword [esp], 0x1234
push esi
push edi
call fcn.005117f0
add esp, 0xc
mov dword [0x6e0fb0], esi
mov dword [0x6e0fac], esi
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f847f
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4f8495
cmp ebx, esi
je 0x4f859c
lea esi, [ebx + 0x1c]
mov edx, 0x6e0f8c
mov edi, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x8b8]
test eax, eax
je 0x4f854d
cmp dword [ebx + 0x1198], 0
jne 0x4f854d
push dword [eax]
call fcn.004f06e6
pop ecx
test eax, eax
jne 0x4f854d
mov eax, dword [ebx + 0x8b8]
movzx cx, byte [eax + 2]
mov word [0x6e0f8e], cx
movzx cx, byte [eax + 3]
mov word [0x6e0f92], cx
mov ax, word [eax]
mov word [0x6e0f8c], ax
cmp ebx, dword [0x6e0fac]
jne 0x4f856f
sub esp, 0x10
mov esi, 0x6e0f9c
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004f0788
add esp, 0x10
test eax, eax
je 0x4f8580
mov esi, edx
mov edi, 0x6e0f9c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x6e0fac], ebx
xor edi, edi
inc edi
push edi
push ebx
push 0x6e0fd0
call fcn.004d1ed1
add esp, 0xc
mov dword [0x6e0fb0], edi
xor esi, esi
jmp 0x4f85ab
cmp dword [0x6e0fb0], esi
je 0x4f84de
xor edi, edi
inc edi
call fcn.00410230
neg eax
sbb eax, eax
neg eax
mov dword [0x6e2020], eax
cmp dword [0x6df664], esi
jg 0x4f85dc
cmp dword [0x6dee58], esi
jne 0x4f85dc
mov dword [ebp - 4], 0xfffffffe
mov eax, 0x5304ba
jmp 0x4f8a03
call fcn.004f16be
mov ebx, eax
cmp dword [0x6dfe74], esi
je 0x4f8608
call fcn.004f16be
sub eax, ebx
cmp eax, 0x7d0
jbe 0x4f867e
push str.:6:SaveProgress____for_tracking_and_logging_screen_shots__encountered_a_problem:_The_function_would_not_unlock_
call fcn.004265da
pop ecx
mov dword [0x6dfe74], edi
push str._ProgLog.prg
cmp dword [0x6e2168], esi
je 0x4f868a
push esi
movzx eax, byte [0x6e216c]
inc eax
push eax
push str.Cash_Box
movzx eax, word [0x6e0fa8]
push eax
movzx eax, word [0x6e0fa6]
push eax
movzx eax, word [0x6e0fa4]
push eax
movzx eax, word [0x6e0fa2]
push eax
movzx eax, word [0x6e0f9e]
push eax
movzx eax, word [0x6e0f9c]
push eax
push esi
push esi
call fcn.0048a119
pop ecx
pop ecx
push eax
push str._s_04d__02d__02d___02d__02d._02d__s_d__d_s
mov eax, 0x104
lea edi, [ebp - 0x128]
call fcn.004c5375
add esp, 0x30
jmp 0x4f86e7
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4f85e3
push dword [0x6e1000]
push 0x6e1008
movzx eax, word [0x6e0fa8]
push eax
movzx eax, word [0x6e0fa6]
push eax
movzx eax, word [0x6e0fa4]
push eax
movzx eax, word [0x6e0fa2]
push eax
movzx eax, word [0x6e0f9e]
push eax
movzx eax, word [0x6e0f9c]
push eax
push esi
push esi
call fcn.0048a119
pop ecx
pop ecx
push eax
push str._s_04d__02d__02d___02d__02d._02d__s__d_s
mov eax, 0x104
lea edi, [ebp - 0x128]
call fcn.004c5375
add esp, 0x2c
xor edi, edi
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x134], esi
cmp dword [ebp - 0x134], 5
jge 0x4f8739
push 0x2ac
push str..TrackProg.c
mov edx, 0x530484
lea ecx, [ebp - 0x128]
call fcn.0042d2c6
pop ecx
pop ecx
mov edi, eax
mov dword [ebp - 0x140], edi
cmp edi, esi
jne 0x4f8741
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc dword [ebp - 0x134]
jmp 0x4f86f5
cmp edi, esi
je 0x4f89cc
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x12c], esi
mov esi, 0x1234
mov dword [ebp - 0x130], esi
push edi
xor ebx, ebx
inc ebx
push ebx
push 4
lea eax, [ebp - 0x130]
push eax
call fcn.005110f1
mov dword [ebp - 0x12c], eax
push edi
push ebx
push esi
push 0x6e0fd0
call fcn.005110f1
add esp, 0x20
add dword [ebp - 0x12c], eax
mov eax, dword [0x6e2188]
xor esi, esi
cmp eax, esi
jbe 0x4f87ab
push edi
push ebx
push eax
push dword [0x6e2180]
call fcn.005110f1
add esp, 0x10
add dword [ebp - 0x12c], eax
jmp 0x4f87b1
inc dword [ebp - 0x12c]
mov eax, dword [0x6e2190]
cmp eax, esi
jbe 0x4f87d3
push edi
push ebx
push eax
push dword [0x6e218c]
call fcn.005110f1
add esp, 0x10
add dword [ebp - 0x12c], eax
jmp 0x4f87d9
inc dword [ebp - 0x12c]
cmp dword [ebp - 0x12c], 4
jge 0x4f87f5
lea eax, [ebp - 0x128]
push eax
push str.:7:SaveProgress___s___FAILED:_fwrite_failed_to_write_the_till_sheet.
call fcn.004265da
pop ecx
pop ecx
mov eax, dword [0x6df664]
cmp dword [eax*4 + 0x6dee58], esi
je 0x4f8804
inc eax
mov dword [ebp - 0x130], eax
push edi
push ebx
push 4
lea eax, [ebp - 0x130]
push eax
call fcn.005110f1
add esp, 0x10
mov dword [ebp - 0x12c], eax
cmp eax, ebx
jge 0x4f883a
lea eax, [ebp - 0x128]
push eax
push str.:7:SaveProgress___s___FAILED:_fwrite_failed_to_write_the_number_of_existing_screen_dumps.
call fcn.004265da
pop ecx
pop ecx
mov dword [ebp - 0x138], esi
cmp esi, dword [ebp - 0x130]
jge 0x4f89bc
push edi
push ebx
push 0x10
mov eax, esi
shl eax, 4
add eax, 0x6dfe78
push eax
call fcn.005110f1
add esp, 0x10
shl esi, 2
mov eax, dword [esi + 0x6df260]
call fcn.004b4b58
test eax, eax
je 0x4f8905
mov eax, dword [esi + 0x6df260]
call fcn.004b4afb
test eax, eax
jne 0x4f8905
mov eax, dword [esi + 0x6df260]
call fcn.004b4acb
mov dword [ebp - 0x13c], eax
push edi
push ebx
call fcn.00512df5
push edi
mov eax, dword [ebp - 0x13c]
shr eax, 0x10
movzx eax, al
push eax
call fcn.00512df5
push edi
movzx eax, byte [ebp - 0x13c]
push eax
call fcn.00512df5
push edi
push 0
call fcn.00512df5
push edi
mov eax, dword [esi + 0x6df260]
call fcn.004b1db1
add esp, 0x24
test eax, eax
jne 0x4f8905
and dword [ebp - 0x148], eax
push edi
push 4
push ebx
lea eax, [ebp - 0x148]
push eax
call fcn.005110f1
push edi
push 4
push ebx
lea eax, [ebp - 0x148]
push eax
call fcn.005110f1
add esp, 0x20
mov edx, dword [esi + 0x6df668]
call fcn.004c3b34
test eax, eax
jne 0x4f8931
push edi
push dword [esi + 0x6df668]
call fcn.005120b0
pop ecx
push eax
push ebx
push dword [esi + 0x6df668]
call fcn.005110f1
add esp, 0x10
push edi
push 0
call fcn.00512df5
push edi
mov eax, dword [esi + 0x6dee58]
call fcn.004b1db1
add esp, 0xc
test eax, eax
jne 0x4f8975
and dword [ebp - 0x144], eax
push edi
push 4
push ebx
lea eax, [ebp - 0x144]
push eax
call fcn.005110f1
push edi
push 4
push ebx
lea eax, [ebp - 0x144]
push eax
call fcn.005110f1
add esp, 0x20
mov edx, dword [esi + 0x6dfa70]
call fcn.004c3b34
test eax, eax
jne 0x4f89a1
push edi
push dword [esi + 0x6dfa70]
call fcn.005120b0
pop ecx
push eax
push ebx
push dword [esi + 0x6dfa70]
call fcn.005110f1
add esp, 0x10
push edi
push 0
call fcn.00512df5
pop ecx
pop ecx
inc dword [ebp - 0x138]
mov esi, dword [ebp - 0x138]
jmp 0x4f8840
mov ecx, edi
call fcn.0042d70e
and dword [ebp - 0x140], 0
xor esi, esi
mov dword [0x6dfe74], esi
jmp 0x4f89e6
mov dword [ebp - 4], 0xfffffffe
lea eax, [ebp - 0x128]
push eax
mov esi, 0x6e0e88
push esi
call fcn.005123e0
pop ecx
pop ecx
mov eax, esi
call fcn.0052aa34
ret