Function at 0x501763
Capabilities:
Write file on windows

Disassembly:
push 0x138
push 0x5eecc0
call fcn.00549b0c
mov ebx, ecx
mov byte [ebp - 0x128], 0
push 0x103
xor esi, esi
push esi
lea eax, [ebp - 0x127]
push eax
call fcn.005306b0
add esp, 0xc
call fcn.00418444
test eax, eax
jne 0x5017a2
xor eax, eax
jmp 0x501d1f
mov dword [ebp - 4], esi
cmp ebx, 0xffffffff
jne 0x50180d
call fcn.004fa8e4
mov edi, eax
cmp dword [0x70d5b4], esi
je 0x5017d2
call fcn.004fa8e4
sub eax, edi
cmp eax, 0x7d0
jbe 0x501803
push str.:6:SaveProgress____for_tracking_and_logging_screen_shots__encountered_a_problem:_The_function_would_not_unlock_
call fcn.0042b70b
pop ecx
mov edi, 0x70eaf8
push edi
call fcn.004df030
mov dword [esp], 0x1234
push esi
push edi
call fcn.005306b0
add esp, 0xc
mov dword [0x70eaf4], esi
mov dword [0x70d9bc], esi
mov dword [ebp - 4], 0xfffffffe
jmp 0x50179b
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x5017b1
cmp ebx, esi
je 0x5018b8
lea esi, [ebx + 0x1c]
mov edx, 0x70ead4
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 0x501869
cmp dword [ebx + 0x1198], 0
jne 0x501869
push dword [eax]
call fcn.004f9815
pop ecx
test eax, eax
jne 0x501869
mov eax, dword [ebx + 0x8b8]
movzx cx, byte [eax + 2]
mov word [0x70ead6], cx
movzx cx, byte [eax + 3]
mov word [0x70eada], cx
mov ax, word [eax]
mov word [0x70ead4], ax
cmp ebx, dword [0x70d9bc]
jne 0x50188b
sub esp, 0x10
mov esi, 0x70eae4
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.004f98b7
add esp, 0x10
test eax, eax
je 0x50189c
mov esi, edx
mov edi, 0x70eae4
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 [0x70d9bc], ebx
xor edi, edi
inc edi
push edi
push ebx
push 0x70eaf8
call fcn.004db281
add esp, 0xc
mov dword [0x70eaf4], edi
xor esi, esi
jmp 0x5018c7
cmp dword [0x70eaf4], esi
je 0x5017fa
xor edi, edi
inc edi
call fcn.00411e46
neg eax
sbb eax, eax
neg eax
mov dword [0x70fb48], eax
cmp dword [0x70cda4], esi
jg 0x5018f8
cmp dword [0x70c9a0], esi
jne 0x5018f8
mov dword [ebp - 4], 0xfffffffe
mov eax, 0x54f4ea
jmp 0x501d1f
call fcn.004fa8e4
mov ebx, eax
cmp dword [0x70d5b4], esi
je 0x501924
call fcn.004fa8e4
sub eax, ebx
cmp eax, 0x7d0
jbe 0x50199a
push str.:6:SaveProgress____for_tracking_and_logging_screen_shots__encountered_a_problem:_The_function_would_not_unlock_
call fcn.0042b70b
pop ecx
mov dword [0x70d5b4], edi
push str._ProgLog.prg
cmp dword [0x70fc90], esi
je 0x5019a6
push esi
movzx eax, byte [0x70fc94]
inc eax
push eax
push str.Cash_Box
movzx eax, word [0x70eaf0]
push eax
movzx eax, word [0x70eaee]
push eax
movzx eax, word [0x70eaec]
push eax
movzx eax, word [0x70eaea]
push eax
movzx eax, word [0x70eae6]
push eax
movzx eax, word [0x70eae4]
push eax
push esi
push esi
call fcn.00493154
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.004ce4a3
add esp, 0x30
jmp 0x501a03
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x5018ff
push dword [0x70eb28]
push 0x70eb30
movzx eax, word [0x70eaf0]
push eax
movzx eax, word [0x70eaee]
push eax
movzx eax, word [0x70eaec]
push eax
movzx eax, word [0x70eaea]
push eax
movzx eax, word [0x70eae6]
push eax
movzx eax, word [0x70eae4]
push eax
push esi
push esi
call fcn.00493154
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.004ce4a3
add esp, 0x2c
xor edi, edi
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x134], esi
cmp dword [ebp - 0x134], 5
jge 0x501a55
push 0x2ac
push str..TrackProg.c
mov edx, 0x54f4b4
lea ecx, [ebp - 0x128]
call fcn.00434df1
pop ecx
pop ecx
mov edi, eax
mov dword [ebp - 0x140], edi
cmp edi, esi
jne 0x501a5d
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc dword [ebp - 0x134]
jmp 0x501a11
cmp edi, esi
je 0x501ce8
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.00531aad
mov dword [ebp - 0x12c], eax
push edi
push ebx
push esi
push 0x70eaf8
call fcn.00531aad
add esp, 0x20
add dword [ebp - 0x12c], eax
mov eax, dword [0x70fcb0]
xor esi, esi
cmp eax, esi
jbe 0x501ac7
push edi
push ebx
push eax
push dword [0x70fca8]
call fcn.00531aad
add esp, 0x10
add dword [ebp - 0x12c], eax
jmp 0x501acd
inc dword [ebp - 0x12c]
mov eax, dword [0x70fcb8]
cmp eax, esi
jbe 0x501aef
push edi
push ebx
push eax
push dword [0x70fcb4]
call fcn.00531aad
add esp, 0x10
add dword [ebp - 0x12c], eax
jmp 0x501af5
inc dword [ebp - 0x12c]
cmp dword [ebp - 0x12c], 4
jge 0x501b11
lea eax, [ebp - 0x128]
push eax
push str.:7:SaveProgress___s___FAILED:_fwrite_failed_to_write_the_till_sheet.
call fcn.0042b70b
pop ecx
pop ecx
mov eax, dword [0x70cda4]
cmp dword [eax*4 + 0x70c9a0], esi
je 0x501b20
inc eax
mov dword [ebp - 0x130], eax
push edi
push ebx
push 4
lea eax, [ebp - 0x130]
push eax
call fcn.00531aad
add esp, 0x10
mov dword [ebp - 0x12c], eax
cmp eax, ebx
jge 0x501b56
lea eax, [ebp - 0x128]
push eax
push str.:7:SaveProgress___s___FAILED:_fwrite_failed_to_write_the_number_of_existing_screen_dumps.
call fcn.0042b70b
pop ecx
pop ecx
mov dword [ebp - 0x138], esi
cmp esi, dword [ebp - 0x130]
jge 0x501cd8
push edi
push ebx
push 0x10
mov eax, esi
shl eax, 4
add eax, 0x70d9c0
push eax
call fcn.00531aad
add esp, 0x10
shl esi, 2
mov eax, dword [esi + 0x70cda8]
call fcn.004bdd16
test eax, eax
je 0x501c21
mov eax, dword [esi + 0x70cda8]
call fcn.004bdcb9
test eax, eax
jne 0x501c21
mov eax, dword [esi + 0x70cda8]
call fcn.004bdc89
mov dword [ebp - 0x13c], eax
push edi
push ebx
call fcn.00531f15
push edi
mov eax, dword [ebp - 0x13c]
shr eax, 0x10
movzx eax, al
push eax
call fcn.00531f15
push edi
movzx eax, byte [ebp - 0x13c]
push eax
call fcn.00531f15
push edi
push 0
call fcn.00531f15
push edi
mov eax, dword [esi + 0x70cda8]
call fcn.004baf6f
add esp, 0x24
test eax, eax
jne 0x501c21
and dword [ebp - 0x148], eax
push edi
push 4
push ebx
lea eax, [ebp - 0x148]
push eax
call fcn.00531aad
push edi
push 4
push ebx
lea eax, [ebp - 0x148]
push eax
call fcn.00531aad
add esp, 0x20
mov edx, dword [esi + 0x70d1b0]
call fcn.004ccc0d
test eax, eax
jne 0x501c4d
push edi
push dword [esi + 0x70d1b0]
call fcn.00530f70
pop ecx
push eax
push ebx
push dword [esi + 0x70d1b0]
call fcn.00531aad
add esp, 0x10
push edi
push 0
call fcn.00531f15
push edi
mov eax, dword [esi + 0x70c9a0]
call fcn.004baf6f
add esp, 0xc
test eax, eax
jne 0x501c91
and dword [ebp - 0x144], eax
push edi
push 4
push ebx
lea eax, [ebp - 0x144]
push eax
call fcn.00531aad
push edi
push 4
push ebx
lea eax, [ebp - 0x144]
push eax
call fcn.00531aad
add esp, 0x20
mov edx, dword [esi + 0x70d5b8]
call fcn.004ccc0d
test eax, eax
jne 0x501cbd
push edi
push dword [esi + 0x70d5b8]
call fcn.00530f70
pop ecx
push eax
push ebx
push dword [esi + 0x70d5b8]
call fcn.00531aad
add esp, 0x10
push edi
push 0
call fcn.00531f15
pop ecx
pop ecx
inc dword [ebp - 0x138]
mov esi, dword [ebp - 0x138]
jmp 0x501b5c
mov ecx, edi
call fcn.00435239
and dword [ebp - 0x140], 0
xor esi, esi
mov dword [0x70d5b4], esi
jmp 0x501d02
mov dword [ebp - 4], 0xfffffffe
lea eax, [ebp - 0x128]
push eax
mov esi, 0x70e9d0
push esi
call fcn.005312a0
pop ecx
pop ecx
mov eax, esi
call fcn.00549b54
ret