Function at 0x43576d
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x17c
mov eax, dword [0x5385d0]
xor eax, esp
mov dword [esp + 0x178], eax
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x1c]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x28]
push 7
pop ecx
push dword [esp + 0x28]
mov dword [esp + 0x1c], eax
push dword [esp + 0x28]
mov byte [esp + 0x40], 0
push dword [esp + 0x34]
xor eax, eax
lea edi, [esp + 0x45]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push esi
stosb byte es:[edi], al
mov edi, dword [ebp + 0xc]
push edx
push edi
mov ecx, ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x38], 1
call fcn.00435f22
xor esi, esi
add esp, 0x18
cmp eax, esi
mov dword [esp + 0x1c], eax
jne 0x435850
cmp dword [ebp + 0x24], esi
je 0x435822
movzx eax, di
push eax
movzx eax, byte [ebp + 0xf]
push eax
movzx eax, byte [ebp + 0xe]
push eax
push str.No_tills_were_closed_with_PAULA_on__02d__02d__04d__n_nPress_any_key...
push str.__No_Tills_Found___
push esi
push esi
push esi
push 1
call fcn.0042419f
add esp, 0x24
movzx eax, di
push eax
movzx eax, byte [ebp + 0xf]
push eax
movzx eax, byte [ebp + 0xe]
push eax
push str.:0:FYI:_The_EOD_report_was_not_printed_because_no_tills_were_closed_with_PAULA_on__02d__02d__04d.
call fcn.0041936e
add esp, 0x10
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x435848
or dword [eax], 3
xor eax, eax
inc eax
jmp 0x435d16
push edi
push eax
call fcn.00435d2b
test eax, eax
pop ecx
pop ecx
jne 0x435898
push 0x103
mov byte [esp + 0x7c], al
lea eax, [esp + 0x7d]
push esi
push eax
call fcn.004b7880
add esp, 0xc
lea eax, [esp + 0x78]
push str.PRP077.txt
push eax
call fcn.004610ab
mov edi, eax
call fcn.0041c5ff
push eax
push str.:4:PrintLaserCashReport___FAILED:_ArchiveReportPRP077___FAILED:__d
call fcn.00418e96
add esp, 0x10
call fcn.00410123
test eax, eax
je 0x435913
cmp dword [0x62d3ec], esi
jne 0x4358db
mov eax, dword [ebx + 0x216c]
cmp eax, esi
mov edi, dword [ebx + 0x2174]
mov ecx, dword [ebx + 0x2184]
mov dword [esp + 0x10], eax
jne 0x4358f1
mov eax, dword [ebx + 0x2164]
cmp eax, esi
jle 0x4358f1
mov edi, dword [ebx + 0x2168]
mov ecx, dword [ebx + 0x2180]
jmp 0x4358ed
mov eax, dword [ebx + 0x215c]
mov edi, dword [ebx + 0x2160]
mov ecx, dword [ebx + 0x2178]
mov dword [esp + 0x10], eax
call fcn.0043572a
test eax, eax
jne 0x435943
mov eax, dword [esp + 0x1c]
call fcn.00441129
push str.:0:FYI:_The_EOD_report_is_not_laser_printing_because_not_purchased.
call fcn.0041936e
pop ecx
jmp 0x43583d
mov eax, dword [ebx + 0x215c]
mov edi, dword [ebx + 0x2160]
mov ecx, dword [ebx + 0x2178]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x216c]
cmp eax, esi
jle 0x435943
mov edi, dword [ebx + 0x2174]
mov ecx, dword [ebx + 0x2184]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], esi
jle 0x4359e9
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x435976
test byte [eax], 1
je 0x435976
push edi
push dword [esp + 0x14]
push str.:2:PrintLaserCashReport___is_not_printing_the_main_report_because_it_was_already_printed_to_prn_d__tray_d.
call fcn.0041936e
add esp, 0xc
mov dword [esp + 0x14], 1
jmp 0x43599b
mov eax, dword [esp + 0x10]
push edi
push 1
push ecx
push str.PRP077
push esi
call fcn.0046e2e5
pop ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.0046d9cb
add esp, 0x14
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
cmp eax, 0x64
jle 0x4359b3
push esi
call fcn.0046e2e5
pop ecx
push eax
push str.Net_Printer__s
jmp 0x4359b9
push eax
push str.TAMS_Report_d
lea eax, [esp + 0x40]
push 0x20
push eax
call fcn.00480225
add esp, 0x10
cmp edi, esi
jle 0x435a7f
push edi
push str.__tray__d_
push 0x20
pop eax
lea edi, [esp + 0x40]
call fcn.004801e3
pop ecx
pop ecx
jmp 0x435a7f
call fcn.00463391
push str.Laser.cfg
push esi
mov edi, eax
call fcn.00460e8a
push edi
mov ecx, eax
call fcn.0046b4d3
add esp, 0xc
test eax, eax
jne 0x435a42
push esi
mov esi, edi
call fcn.0046ace0
pop ecx
call fcn.00410123
test eax, eax
je 0x435a42
push 0x20
lea eax, [esp + 0x3c]
call fcn.0046b26f
cmp dword [ebx + 0x2154], 0
pop ecx
lea eax, [esp + 0x38]
push eax
jge 0x435a92
push str.:5:PrintLaserCashReport___had_to_print_to_the_Windows_DEFAULT_printer___s_
call fcn.0041936e
pop ecx
pop ecx
push 0x20
lea eax, [esp + 0x3c]
mov esi, edi
call fcn.0046b26f
pop ecx
push 1
mov eax, edi
call fcn.0046af4e
pop ecx
push 0x85
push dword [esp + 0x20]
mov ecx, edi
push str.PRP077
call fcn.0046a46f
mov dword [esp + 0x20], eax
add esp, 0xc
mov eax, edi
call fcn.0046341c
xor esi, esi
mov edi, dword [esp + 0x18]
cmp edi, esi
je 0x435ab6
cmp dword [esp + 0x14], esi
je 0x435ab3
or dword [edi], 1
jmp 0x435ab6
push str.:6:PrintLaserCashReport___FAILED:_Not_allowed_to_print_to_the_Windows_DEFAULT_printer___s_
call fcn.0041936e
mov eax, dword [esp + 0x24]
pop ecx
pop ecx
call fcn.00441129
mov eax, edi
call fcn.0046341c
jmp 0x435d14
and dword [edi], 0xfffffffe
cmp dword [ebp + 0x24], esi
je 0x435be5
xor eax, eax
push 7
mov byte [esp + 0x5c], 0
pop ecx
lea edi, [esp + 0x59]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebx + 0x2164]
cmp eax, 0x64
jle 0x435aec
push esi
call fcn.0046e2e5
pop ecx
push eax
push str.Net_Printer__s
jmp 0x435af2
push eax
push str.TAMS__d
lea eax, [esp + 0x60]
push 0x20
push eax
call fcn.00480225
add esp, 0x10
call fcn.0040bb5d
cmp dword [esp + 0x14], esi
mov eax, dword [ebx + 0x2164]
je 0x435b53
cmp eax, esi
jle 0x435b3d
cmp eax, dword [esp + 0x10]
je 0x435b3d
call fcn.00410123
test eax, eax
jne 0x435b3d
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x3c]
push eax
push str.The_report_has_been_printed_to__s._n_nWould_you_also_like_to_print_to___s____Y_N__n_nYes___No
push str.__Print_To_Secondary_Printer___
push esi
push esi
jmp 0x435b7d
lea eax, [esp + 0x38]
push eax
push str.The_report_has_been_printed_to__s._n_nPress_any_key...
push str.__Report_Is_Complete__
push esi
push esi
push 1
push esi
jmp 0x435b9d
cmp eax, esi
jle 0x435b89
cmp eax, dword [esp + 0x10]
je 0x435b89
call fcn.00410123
test eax, eax
jne 0x435b89
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x3c]
push eax
push str.The_report_could_not_be_printed_to__s._nTry_selecting_an_alternate_report_printer._n_nWould_you_like_to_try_printing_to___s____Y_N__n_nYes___No
push str.__Report_FAILED___
push esi
push 1
call fcn.00423b2f
add esp, 0x18
mov edi, eax
jmp 0x435ba7
lea eax, [esp + 0x38]
push eax
push str.The_report_could_not_be_printed_to__s._nTry_selecting_an_alternate_report_printer._n_nPress_any_key...
push str.__Report_FAILED___
push esi
push esi
push esi
push 1
xor edi, edi
call fcn.0042419f
add esp, 0x1c
cmp edi, esi
je 0x435cfb
push dword [ebx + 0x2168]
mov eax, dword [ebx + 0x2164]
push 1
push dword [ebx + 0x2180]
push str.PRP077_2
push esi
call fcn.0046e2e5
pop ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.0046d9cb
add esp, 0x14
mov dword [esp + 0x20], eax
jmp 0x435cfb
cmp dword [0x62d3ec], esi
jne 0x435cfb
cmp dword [esp + 0x14], esi
mov dword [0x62d3ec], 1
jne 0x435c56
cmp edi, esi
mov dword [esp + 0x18], esi
je 0x435c0f
mov eax, dword [edi]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push esi
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x3c]
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [ebp + 0xc]
push ebx
call fcn.0043576d
mov eax, dword [esp + 0x3c]
add esp, 0x24
cmp edi, esi
je 0x435c3f
mov dword [edi], eax
test al, 1
je 0x435c80
push str.:2:PrintLaserCashReport___FAILED_but_then_succeeded_using_the_local_printer.
mov dword [esp + 0x18], 1
call fcn.0041936e
pop ecx
cmp edi, esi
je 0x435c86
test byte [edi], 2
je 0x435c86
mov ebx, dword [ebx + 0x2164]
cmp ebx, esi
jle 0x435c76
push ebx
push str.:2:PrintLaserCashReport___is_not_printing_the_duplicate_report_because_it_was_already_printed_to_prn_d.
call fcn.0041936e
pop ecx
pop ecx
mov dword [esp + 0x20], 1
jmp 0x435cf5
mov dword [esp + 0x14], esi
jmp 0x435c56
mov eax, dword [ebx + 0x2164]
cmp eax, esi
jle 0x435cdb
cmp dword [ebx + 0x216c], esi
je 0x435cdb
push dword [ebx + 0x2168]
push 1
push dword [ebx + 0x2180]
push str.PRP077_2
push esi
call fcn.0046e2e5
pop ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.0046d9cb
add esp, 0x14
cmp eax, esi
mov dword [esp + 0x20], eax
jne 0x435ce3
push dword [ebx + 0x2164]
push str.:4:PrintToReportPrinter___FAILED:_Could_not_print_the_the_duplicate_report_printer__d.
call fcn.00418e96
pop ecx
pop ecx
jmp 0x435ce3
mov dword [esp + 0x20], 1
cmp edi, esi
je 0x435cf5
cmp dword [esp + 0x20], esi
je 0x435cf2
or dword [edi], 2
jmp 0x435cf5
and dword [edi], 0xfffffffd
mov dword [0x62d3ec], esi
mov eax, dword [esp + 0x1c]
call fcn.00441129
cmp dword [esp + 0x14], esi
je 0x435d14
cmp dword [esp + 0x20], esi
jne 0x435848
xor eax, eax
mov ecx, dword [esp + 0x184]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004b7140
mov esp, ebp
pop ebp
ret