Function at 0x45f4a0
Capabilities:
Delete file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov esi, dword [sym.imp.kernel32.dll_CreateFileA]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0
mov dword [esp + 8], 3
mov dword [esp + 4], 0xc0000000
mov dword [esp], 0x76d020
call esi
sub esp, 0x1c
cmp eax, 0xffffffff
je 0x4600f0
mov dword [esp + 0x18], 0
mov ebx, eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 3
mov dword [esp + 4], 0xc0000000
mov dword [esp], 0x76d020
call esi
mov dword [ebp - 0x2c], eax
sub esp, 0x1c
cmp eax, 0xffffffff
je 0x460130
mov eax, 0x903
call fcn.0045b740
lea eax, [ebp - 0x24]
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x2b8
mov dword [esp + 4], str.en_larvig_liten_text_dx_e_gx_hej_84_hej_4484__
call dword [sym.imp.kernel32.dll_WriteFile]
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], str.write_failed_n
call fcn.0045bef0
mov eax, 0x905
call fcn.0045b740
mov esi, dword [sym.imp.kernel32.dll_LockFile]
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call esi
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], str.LockFile_failed_n
call fcn.0045bef0
mov eax, 0x906
call fcn.0045b740
mov edi, dword [sym.imp.kernel32.dll_UnlockFile]
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x3c], edi
call edi
sub esp, 0x14
mov dword [esp + 4], str.UnlockFile_failed_n
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call edi
sub esp, 0x14
mov dword [ebp - 0x34], eax
mov eax, 0x90e
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov dword [esp], ebx
call esi
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], str.LockFile_10_20_failed_n
call fcn.0045bef0
mov eax, 0x910
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc
mov dword [esp], ebx
call esi
sub esp, 0x14
test eax, eax
sete al
mov dword [esp + 4], str.LockFile_12_10_succeeded_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x911
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 5
mov dword [esp], ebx
call esi
sub esp, 0x14
test eax, eax
sete al
mov dword [esp + 4], str.LockFile_5_6_succeeded_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x913
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 5
mov dword [esp], ebx
call esi
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], str.LockFile_5_5_failed_n
call fcn.0045bef0
mov eax, 0x915
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov dword [esp], ebx
call edi
sub esp, 0x14
test eax, eax
sete al
mov dword [esp + 4], str.UnlockFile_10_10_succeeded_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x916
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov dword [esp], ebx
call edi
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], str.UnlockFile_10_20_failed_n
call fcn.0045bef0
mov eax, 0x917
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov dword [esp], ebx
call edi
sub esp, 0x14
test eax, eax
sete al
mov dword [esp + 4], str.UnlockFile_10_20_again_succeeded_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x918
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 5
mov dword [esp], ebx
call edi
lea edi, [ebp - 0x20]
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], str.UnlockFile_5_5_failed_n
call fcn.0045bef0
mov eax, dword [sym.imp.kernel32.dll_LockFileEx]
mov dword [ebp - 0x18], 0x64
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
mov dword [ebp - 0x28], eax
call eax
sub esp, 0x18
test eax, eax
jne 0x45ff60
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x18], 0x96
test ecx, ecx
je 0x45ff08
mov eax, 0x92b
call fcn.0045b740
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x32
mov dword [esp + 8], 0
mov dword [esp + 4], 3
mov dword [esp], ebx
mov eax, dword [ebp - 0x28]
call eax
sub esp, 0x18
test eax, eax
sete al
mov dword [esp + 4], str.LockFileEx_exclusive_150_50_succeeded_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, dword [sym.imp.kernel32.dll_UnlockFileEx]
mov dword [esp], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 0
mov dword [ebp - 0x30], eax
call eax
sub esp, 0x14
test eax, eax
je 0x45feb0
mov eax, 0x937
mov dword [ebp - 0x18], 0x12c
call fcn.0045b740
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], ebx
mov eax, dword [ebp - 0x28]
call eax
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], str.LockFileEx_exclusive_300_100_failed_n
call fcn.0045bef0
mov eax, 0x939
call fcn.0045b740
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov ecx, dword [ebp - 0x2c]
mov dword [esp], ecx
mov eax, dword [ebp - 0x28]
call eax
sub esp, 0x18
test eax, eax
sete al
mov dword [esp + 4], str.LockFileEx_handle2_300_100_succeeded_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], ebx
mov eax, dword [ebp - 0x28]
call eax
sub esp, 0x18
mov dword [ebp - 0x38], eax
mov eax, 0x93c
call fcn.0045b740
mov dword [esp + 4], str.LockFileEx_300_100_failed_n
mov edx, dword [ebp - 0x38]
mov dword [esp], edx
call fcn.0045bef0
mov eax, 0x93d
call fcn.0045b740
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 0
mov dword [esp], ebx
mov edx, dword [ebp - 0x30]
call edx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], str.UnlockFileEx_300_100_failed_n
call fcn.0045bef0
mov eax, 0x93f
call fcn.0045b740
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov ecx, dword [ebp - 0x2c]
mov dword [esp], ecx
mov eax, dword [ebp - 0x28]
call eax
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], str.LockFileEx_handle2_300_100_failed_n
call fcn.0045bef0
mov eax, 0x941
call fcn.0045b740
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 0
mov ecx, dword [ebp - 0x2c]
mov dword [esp], ecx
mov eax, dword [ebp - 0x30]
call eax
sub esp, 0x14
mov dword [esp + 4], str.UnlockFileEx_300_100_failed_n
mov dword [esp], eax
call fcn.0045bef0
mov edx, dword [ebp - 0x38]
test edx, edx
jne 0x45fe60
mov dword [esp + 0x10], 0xf0000000
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x10000000
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 0x14
test eax, eax
jne 0x45fd80
mov eax, 0x94d
call fcn.0045b740
mov eax, dword fs:[0x18]
mov edx, dword [eax + 0x34]
mov dword [esp + 4], str.wrong_LockFile_error__lu_n
mov dword [esp + 8], edx
cmp dword [eax + 0x34], 0x57
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp + 0x10], 0xf0000001
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x10000000
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 0x14
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call esi
mov edi, eax
mov eax, dword [ebp - 0x34]
sub esp, 0x14
test eax, eax
je 0x4600a0
mov eax, 0x95c
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x64
mov dword [esp], ebx
call esi
sub esp, 0x14
mov dword [esp + 4], str.LockFile_100_0_failed_n
mov dword [esp], eax
call fcn.0045bef0
test edi, edi
jne 0x45ffc0
mov eax, 0x95e
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5a
mov dword [esp], ebx
call esi
sub esp, 0x14
mov dword [esp + 4], str.LockFile_90_10_failed_n
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x961
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5a
mov dword [esp], ebx
mov esi, dword [ebp - 0x3c]
call esi
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], str.UnlockFile_90_10_failed_n
call fcn.0045bef0
mov eax, 0x962
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 0
mov dword [esp + 4], 0x64
mov dword [esp], ebx
call esi
sub esp, 0x14
test eax, eax
sete al
mov dword [esp + 4], str.UnlockFile_100_10_succeeded_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x964
call fcn.0045b740
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x64
mov dword [esp], ebx
call esi
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], str.UnlockFile_100_0_failed_n
call fcn.0045bef0
mov eax, dword [ebp - 0x2c]
mov esi, dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [esp], eax
call esi
sub esp, 4
mov dword [esp], ebx
call esi
sub esp, 4
mov dword [esp], 0x76d020
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x948
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xffffffff
call esi
sub esp, 0x14
test eax, eax
sete al
mov dword [esp + 4], str.LockFile_0_1_succeeded_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x949
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], 0x20000000
mov dword [esp + 4], 0
call esi
sub esp, 0x14
test eax, eax
sete al
mov dword [esp + 4], str.LockFile_0x20000000_20_succeeded_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x94a
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 0x10], 0xf0000000
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x10000000
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3c]
call eax
sub esp, 0x14
mov dword [esp + 4], str.UnlockFile_failed_n
mov dword [esp], eax
call fcn.0045bef0
jmp 0x45fb8c
mov eax, 0x943
call fcn.0045b740
mov dword [esp + 0x10], edi
mov dword [esp], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x30]
call eax
sub esp, 0x14
mov dword [esp + 4], str.UnlockFileEx_300_100_failed_n
mov dword [esp], eax
call fcn.0045bef0
jmp 0x45fb2b
mov eax, 0x931
mov dword [ebp - 0x18], 0x64
call fcn.0045b740
mov dword [esp + 0x10], edi
mov dword [esp], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x30]
call eax
sub esp, 0x14
test eax, eax
sete al
mov dword [esp + 4], str.UnlockFileEx_150_100_again_succeeded_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
jmp 0x45f95c
mov eax, 0x928
call fcn.0045b740
mov dword [esp + 0x14], edi
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x28]
call eax
sub esp, 0x18
mov dword [esp + 4], str.LockFileEx_150_100_failed_n
mov dword [esp], eax
call fcn.0045bef0
jmp 0x45f8d7
mov eax, 0x922
call fcn.0045b740
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
mov eax, dword [ebp - 0x28]
call eax
sub esp, 0x18
mov dword [esp + 4], str.LockFileEx_100_100_failed_n
mov dword [esp], eax
call fcn.0045bef0
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x18], 0x96
test ecx, ecx
jne 0x45f8d7
jmp 0x45ff08
mov eax, 0x95d
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], 0x62
call esi
sub esp, 0x14
test eax, eax
sete al
mov dword [esp + 4], str.LockFile_98_4_succeeded_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x95e
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5a
call esi
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], str.LockFile_90_10_failed_n
call fcn.0045bef0
mov eax, 0x95f
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 0
mov dword [esp + 4], 0x64
call esi
sub esp, 0x14
test eax, eax
sete al
mov dword [esp + 4], str.LockFile_100_10_failed_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
jmp 0x45fc75
mov eax, 0x959
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xffffffff
mov eax, dword [ebp - 0x3c]
call eax
sub esp, 0x14
mov dword [esp + 4], str.Unlockfile_0_1_failed_n
mov dword [esp], eax
call fcn.0045bef0
jmp 0x45fbe9
mov eax, 0x8f8
call fcn.0045b740
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 8], 0x76d020
mov dword [esp + 4], str.couldnt_create_file___s___err_ld__n
mov dword [esp + 0xc], eax
mov dword [esp], 0
call fcn.0045bef0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x900
call fcn.0045b740
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 8], 0x76d020
mov dword [esp + 4], str.couldnt_open_file___s___err_ld__n
mov dword [esp + 0xc], eax
mov dword [esp], 0
call fcn.0045bef0
mov esi, dword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x45fd57