Function at 0x420db5
Capabilities:
Write file on windows

Disassembly:
push 0x46c
push 0x481548
call fcn.004698d0
mov edi, dword [ebp + 8]
mov dword [ebp - 0x454], edi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x468], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x458], eax
xor ebx, ebx
mov byte [ebp - 0x42c], bl
mov esi, 0x103
push esi
push ebx
lea eax, [ebp - 0x42b]
push eax
call fcn.00401f80
mov dword [ebp - 0x434], ebx
mov dword [ebp - 0x448], ebx
mov dword [ebp - 0x440], ebx
mov byte [ebp - 0x328], bl
push esi
push ebx
lea eax, [ebp - 0x327]
push eax
call fcn.00401f80
mov dword [ebp - 0x478], ebx
mov dword [ebp - 0x470], ebx
lea ebx, [ebp - 0x440]
lea esi, [ebp - 0x448]
call fcn.0045d77a
call fcn.0045e685
mov dword [ebp - 0x44c], eax
call fcn.0045ef4b
xor ebx, ebx
push ebx
push ebx
call fcn.0045e6b4
xor esi, esi
inc esi
push esi
push 7
call fcn.0045f82b
add esp, 0x28
call fcn.0045e7f2
test eax, eax
jne 0x420ef4
cmp edi, ebx
je 0x420ec8
cmp dword [ebp - 0x468], ebx
jge 0x420e8a
mov ecx, edi
call fcn.0044fa08
mov dword [ebp - 0x468], eax
mov edx, dword [ebp - 0x468]
mov ecx, edi
call fcn.0044fcb1
test eax, eax
je 0x420ec8
cmp dword [edi + 0x2140], ebx
je 0x420efc
mov dword [ebp - 0x46c], esi
mov ecx, dword [edi + 0x688]
mov dword [ebp - 0x444], ecx
or eax, 0xffffffff
sub eax, dword [edi + 0x2144]
mov dword [ebp - 0x470], eax
cmp ecx, ebx
jne 0x420f20
push ebx
push 0xffffffffffffffff
call fcn.0045f82b
push dword [ebp - 0x440]
push dword [ebp - 0x448]
call fcn.0045e6b4
add esp, 0x10
cmp dword [ebp - 0x44c], ebx
je 0x420ef4
push 0x64
pop eax
call fcn.0045ee48
xor eax, eax
call fcn.00469918
ret
mov dword [ebp - 0x46c], ebx
mov eax, dword [ebp - 0x468]
mov eax, dword [edi + eax*4 + 0x4f4]
mov dword [ebp - 0x444], eax
cmp eax, ebx
je 0x420ec8
cmp dword [eax + 8], ebx
jle 0x420ec8
mov ecx, eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x474], eax
mov ecx, edi
call fcn.0044fa08
mov dword [ebp - 0x464], eax
cmp eax, ebx
jge 0x420f46
mov eax, dword [ebp - 0x468]
mov dword [ebp - 0x464], eax
push ebx
push ebx
call fcn.0043b1b7
pop ecx
pop ecx
mov edi, eax
call fcn.004593b9
test eax, eax
jne 0x420f6c
push ebx
push ebx
push ebx
call fcn.0043b1b7
pop ecx
pop ecx
mov ecx, eax
call fcn.00459102
pop ecx
mov dword [ebp - 0x47c], ebx
mov edx, dword [ebp - 0x458]
call fcn.00429ac3
test eax, eax
je 0x420fcf
cmp dword [ebp - 0x458], ebx
jne 0x420f93
mov dword [ebp - 0x47c], 1
mov edx, dword [ebp - 0x468]
lea esi, [ebp - 0x42c]
mov ecx, dword [ebp - 0x454]
call fcn.0041f42d
cmp dword [ebp - 0x46c], ebx
je 0x420fc3
mov edx, dword [ebp - 0x470]
mov ecx, dword [ebp - 0x454]
call fcn.0041f42d
lea eax, [ebp - 0x42c]
mov dword [ebp - 0x458], eax
push dword [ebp - 0x458]
mov ecx, 0x104
lea eax, [ebp - 0x328]
call fcn.00428a08
mov esi, eax
call fcn.004288d0
push ebx
push ebx
call fcn.0043b3a3
mov edx, eax
mov ecx, esi
call fcn.0042a78c
mov dword [ebp - 0x46c], ebx
push 0x989
mov edi, str.TillSheet.c
push edi
mov esi, 0x46f608
mov edx, esi
lea ecx, [ebp - 0x328]
call fcn.004580b0
add esp, 0x14
jmp 0x421053
cmp dword [ebp - 0x46c], 3
jg 0x42105d
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
inc dword [ebp - 0x46c]
push 0x989
push edi
mov edx, esi
lea ecx, [ebp - 0x328]
call fcn.004580b0
pop ecx
pop ecx
cmp eax, ebx
mov dword [ebp - 0x430], eax
je 0x421024
cmp dword [ebp - 0x430], ebx
jne 0x4210bc
push str._360_545_6605
mov eax, dword [ebp - 0x464]
mov ecx, dword [ebp - 0x454]
mov edx, dword [ecx + eax*4 + 0x198]
call fcn.00429f7a
push eax
push str._s__your_till_cannot_be_saved._nPlease_call__s_to_report_this_problem._nLeave_your_name__your_store_number__and_error_7723327._n_nPress_any_key_to_exit...
push str.___________FAILED___________
push str.NotGood.wav
push ebx
push ebx
push 1
call fcn.0045658a
push ebx
push 0xffffffffffffffff
call fcn.0045f82b
push dword [ebp - 0x440]
push dword [ebp - 0x448]
call fcn.0045e6b4
add esp, 0x30
jmp 0x420ee4
call fcn.0043aeab
mov esi, dword [ebp - 0x474]
cmp eax, ebx
jne 0x4210d2
mov eax, 0x110
jmp 0x4210da
dec eax
neg eax
sbb eax, eax
add eax, 0x20
cmp esi, eax
mov dword [ebp - 0x434], eax
jg 0x4210ea
mov dword [ebp - 0x434], esi
cmp dword [ebp - 0x434], esi
jge 0x42113d
xor edx, edx
lea eax, [esi - 1]
cmp eax, ebx
jl 0x421120
mov ecx, eax
imul ecx, ecx, 0x1234
mov edi, dword [ebp - 0x444]
lea ecx, [ecx + edi + 0x8dc]
cmp dword [ecx], ebx
jne 0x421120
inc edx
dec eax
sub ecx, 0x1234
cmp eax, ebx
jge 0x421110
cmp edx, dword [ebp - 0x434]
jle 0x42113d
mov dword [ebp - 0x434], edx
mov eax, 0x20a
cmp edx, eax
jle 0x42113d
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x43c], ebx
cmp esi, ebx
jle 0x421164
mov eax, dword [ebp - 0x444]
add eax, 0x1040
mov ecx, esi
mov dword [ebp - 0x43c], esi
mov dword [eax], ebx
add eax, 0x1234
dec ecx
jne 0x42115a
push 4
lea eax, [esi + 1]
push eax
call fcn.00401a3a
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x438], ecx
cmp ecx, ebx
je 0x4211b2
mov dword [ebp - 0x43c], ebx
cmp esi, ebx
jle 0x4211b2
mov eax, dword [ebp - 0x444]
add eax, 0x104c
mov edx, dword [eax]
mov edi, dword [ebp - 0x43c]
mov dword [ecx + edi*4], edx
mov dword [eax], ebx
inc dword [ebp - 0x43c]
add eax, 0x1234
cmp dword [ebp - 0x43c], esi
jl 0x421192
mov dword [ebp - 4], ebx
mov dword [ebp - 0x43c], ebx
cmp dword [ebp - 0x43c], esi
jge 0x42120e
mov esi, dword [ebp - 0x43c]
imul esi, esi, 0x1234
add esi, dword [ebp - 0x444]
mov ebx, dword [esi + 0x11b0]
call fcn.00428b17
mov dword [esi + 0x11b8], eax
mov ecx, dword [esi + 0x11bc]
call fcn.00428b01
lea eax, [eax*4 + 4]
mov dword [esi + 0x11c0], eax
inc dword [ebp - 0x43c]
xor ebx, ebx
mov esi, dword [ebp - 0x474]
jmp 0x4211bb
mov dword [ebp - 4], 0xfffffffe
jmp 0x42124d
push ebx
push ebx
push dword [ebp - 0x430]
call fcn.0040287c
push dword [ebp - 0x430]
push 1
push 4
lea eax, [ebp - 0x434]
push eax
call fcn.0040257f
mov edi, eax
push dword [ebp - 0x430]
push dword [ebp - 0x434]
push 0x1234
mov eax, esi
sub eax, dword [ebp - 0x434]
imul eax, eax, 0x1234
add eax, dword [ebp - 0x444]
push eax
call fcn.0040257f
add esp, 0x2c
mov dword [ebp - 0x470], eax
cmp dword [ebp - 0x438], ebx
je 0x4212e8
xor eax, eax
cmp esi, ebx
jle 0x4212d6
mov ecx, dword [ebp - 0x444]
add ecx, 0x104c
mov edx, dword [ebp - 0x438]
mov edx, dword [edx + eax*4]
mov dword [ecx], edx
inc eax
add ecx, 0x1234
cmp eax, esi
jl 0x4212c0
push dword [ebp - 0x438]
call fcn.00401a00
pop ecx
mov dword [ebp - 0x438], ebx
xor eax, eax
inc eax
cmp edi, eax
jne 0x421859
mov ecx, dword [ebp - 0x434]
cmp dword [ebp - 0x470], ecx
jne 0x421859
mov dword [ebp - 4], eax
mov dword [ebp - 0x460], ebx
mov dword [ebp - 0x45c], ebx
mov dword [ebp - 0x450], ebx
cmp dword [ebp - 0x450], ecx
jge 0x421373
mov eax, dword [ebp - 0x450]
sub eax, ecx
add eax, esi
imul eax, eax, 0x1234
add eax, dword [ebp - 0x444]
mov ecx, dword [eax + 0x11b8]
cmp ecx, ebx
jbe 0x421365
inc dword [ebp - 0x45c]
push dword [ebp - 0x430]
push 1
push ecx
push dword [eax + 0x11b0]
call fcn.0040257f
add esp, 0x10
add dword [ebp - 0x460], eax
inc dword [ebp - 0x450]
mov ecx, dword [ebp - 0x434]
jmp 0x42131a
mov eax, dword [ebp - 0x45c]
cmp dword [ebp - 0x460], eax
jge 0x421421
cmp dword [ebp - 0x430], ebx
je 0x42139e
mov ecx, dword [ebp - 0x430]
call fcn.0045a2fe
mov dword [ebp - 0x430], ebx
mov ecx, dword [ebp - 0x464]
mov eax, dword [ebp - 0x454]
mov edx, dword [eax + ecx*4 + 0x198]
call fcn.00429f7a
push eax
push str._s__your_till_cannot_be_saved._nA_file_access_error_has_occurred._n_nPress_any_key_to_exit...
push str.___________FAILED___________
push str.NotGood.wav
push ebx
push ebx
push 1
call fcn.0045658a
push ebx
push 0xffffffffffffffff
call fcn.0045f82b
push dword [ebp - 0x440]
push dword [ebp - 0x448]
call fcn.0045e6b4
add esp, 0x2c
cmp dword [ebp - 0x438], ebx
je 0x421405
push dword [ebp - 0x438]
call fcn.00401a00
pop ecx
mov dword [ebp - 0x438], ebx
cmp dword [ebp - 0x44c], ebx
je 0x421415
push 0x64
pop eax
call fcn.0045ee48
mov dword [ebp - 4], 0xfffffffe
jmp 0x420ef4
mov dword [ebp - 0x460], ebx
mov dword [ebp - 0x45c], ebx
mov dword [ebp - 0x450], ebx
cmp dword [ebp - 0x450], ecx
jge 0x42148c
mov eax, dword [ebp - 0x450]
sub eax, ecx
add eax, esi
imul eax, eax, 0x1234
add eax, dword [ebp - 0x444]
mov ecx, dword [eax + 0x11c0]
cmp ecx, ebx
jbe 0x42147e
inc dword [ebp - 0x45c]
push dword [ebp - 0x430]
push 1
push ecx
push dword [eax + 0x11bc]
call fcn.0040257f
add esp, 0x10
add dword [ebp - 0x460], eax
inc dword [ebp - 0x450]
mov ecx, dword [ebp - 0x434]
jmp 0x421433
mov eax, dword [ebp - 0x45c]
cmp dword [ebp - 0x460], eax
jl 0x421385
mov dword [ebp - 4], 0xfffffffe
cmp dword [ebp - 0x430], ebx
je 0x4214b8
mov ecx, dword [ebp - 0x430]
call fcn.0045a2fe
call fcn.0045e7f2
test eax, eax
jne 0x420ef4
call fcn.0045e7f2
test eax, eax
jne 0x420ef4
call fcn.004182de
mov edi, eax
xor esi, esi
push dword [ebp - 0x458]
lea eax, [ebp - 0x328]
push eax
call fcn.004615d7
pop ecx
pop ecx
test eax, eax
jg 0x42151a
call fcn.004182de
sub eax, edi
cmp eax, 0x3a98
ja 0x421524
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp - 0x478], ebx
inc esi
cmp esi, 7
jl 0x4214db
jmp 0x421524
mov dword [ebp - 0x478], 1
cmp dword [ebp - 0x478], ebx
jne 0x421638
mov esi, dword [ebp - 0x454]
lea eax, [esi + 0x1094]
push eax
push dword [ebp - 0x458]
call fcn.004294c0
pop ecx
pop ecx
test eax, eax
je 0x4215fa
mov byte [ebp - 0x120], bl
mov edi, 0x103
push edi
push ebx
lea eax, [ebp - 0x11f]
push eax
call fcn.00401f80
mov byte [ebp - 0x224], bl
push edi
push ebx
lea eax, [ebp - 0x223]
push eax
call fcn.00401f80
add esp, 0x18
cmp dword [0x58f960], ebx
jne 0x4215fa
push dword [ebp - 0x458]
inc edi
mov ecx, edi
lea eax, [ebp - 0x224]
call fcn.00428a08
pop ecx
mov esi, eax
call fcn.004288d0
mov eax, esi
push eax
push str.ServerSync_
push ebx
push ebx
call fcn.0043b1b7
pop ecx
pop ecx
push eax
push str._s_s_s
push edi
lea eax, [ebp - 0x120]
push eax
call fcn.0042922b
mov dword [0x58f960], 1
lea eax, [ebp - 0x120]
push eax
push dword [ebp - 0x468]
push dword [ebp - 0x454]
call fcn.00420db5
add esp, 0x24
mov dword [0x58f960], ebx
jmp 0x420ef6
push str._360_545_6605
mov eax, dword [ebp - 0x464]
mov edx, dword [esi + eax*4 + 0x198]
call fcn.00429f7a
push eax
push str._s__your_till_cannot_be_saved._nThe_TAMS_server_cannot_be_accessed._nPlease_call__s_to_report_this_problem._nLeave_your_name__your_store_number__and_error_7722427._n_nPress_any_key_to_exit...
push str.___________FAILED___________
push str.NotGood.wav
push ebx
push ebx
push 1
call fcn.0045658a
add esp, 0x20
mov dword [ebp - 0x434], ebx
jmp 0x421787
call fcn.0043aeab
test eax, eax
jne 0x421787
cmp dword [ebp - 0x47c], ebx
je 0x421787
mov byte [ebp - 0x224], bl
mov esi, 0x103
push esi
push ebx
lea eax, [ebp - 0x223]
push eax
call fcn.00401f80
mov byte [ebp - 0x120], bl
push esi
push ebx
lea eax, [ebp - 0x11f]
push eax
call fcn.00401f80
push dword [ebp - 0x458]
lea edi, [esi + 1]
mov ecx, edi
lea eax, [ebp - 0x224]
call fcn.00428a08
mov esi, eax
call fcn.004288d0
push str._tmpP2_NODEL_tills_
push ebx
push str._s_s
push edi
lea eax, [ebp - 0x120]
push eax
call fcn.0042922b
lea eax, [ebp - 0x120]
push eax
call fcn.00457831
add esp, 0x34
test eax, eax
jne 0x4216d3
push ebx
lea ecx, [ebp - 0x120]
call fcn.00459102
pop ecx
lea eax, [ebp - 0x224]
push eax
mov eax, edi
lea esi, [ebp - 0x120]
call fcn.00429a82
mov eax, esi
push eax
lea eax, [ebp - 0x328]
push eax
call fcn.004615d7
push str._nBacking_up_invoice_registrar...
call fcn.0045eb7a
mov esi, str._tmpP2_NODEL_tills_
push esi
push ebx
push str._s_s
push edi
lea eax, [ebp - 0x120]
push eax
call fcn.0042922b
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x224]
call fcn.00459637
push str.DONE_
call fcn.0045eb7a
push str._nBacking_up_sales_data...
call fcn.0045eb7a
push esi
push ebx
push str._s_s
push edi
lea eax, [ebp - 0x120]
push eax
call fcn.0042922b
add esp, 0x44
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x224]
call fcn.00459637
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x224]
call fcn.00459637
push str.DONE__n
call fcn.0045eb7a
add esp, 0xc
lea eax, [ebp - 0x328]
call fcn.0045946a
push ebx
push 0xffffffffffffffff
call fcn.0045f82b
push dword [ebp - 0x440]
push dword [ebp - 0x448]
call fcn.0045e6b4
add esp, 0x10
cmp dword [ebp - 0x44c], ebx
je 0x4217be
push 0x64
pop eax
call fcn.0045ee48
mov eax, dword [ebp - 0x434]
jmp 0x420ef6
cmp dword [ebp - 0x430], ebx
je 0x42186c
mov ecx, dword [ebp - 0x430]
call fcn.0045a2fe
mov eax, dword [ebp - 0x454]
mov ecx, dword [ebp - 0x464]
mov edx, dword [eax + ecx*4 + 0x198]
call fcn.00429f7a
push eax
push str._s__your_till_cannot_be_saved._nA_file_access_error_has_occurred._n_nPress_any_key_to_exit...
push str.___________FAILED___________
push str.NotGood.wav
push ebx
push ebx
push 1
call fcn.0045658a
push ebx
push 0xffffffffffffffff
call fcn.0045f82b
push dword [ebp - 0x440]
push dword [ebp - 0x448]
call fcn.0045e6b4
add esp, 0x2c
cmp dword [ebp - 0x438], ebx
je 0x420ee4
push dword [ebp - 0x438]
call fcn.00401a00
pop ecx
jmp 0x420ee4