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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x17c
mov eax, dword [0x5345d0]
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.00434031
xor esi, esi
add esp, 0x18
cmp eax, esi
mov dword [esp + 0x1c], eax
jne 0x43395f
cmp dword [ebp + 0x24], esi
je 0x433931
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.00422bd0
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.00417db7
add esp, 0x10
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x433957
or dword [eax], 3
xor eax, eax
inc eax
jmp 0x433e25
push edi
push eax
call fcn.00433e3a
test eax, eax
pop ecx
pop ecx
jne 0x4339a7
push 0x103
mov byte [esp + 0x7c], al
lea eax, [esp + 0x7d]
push esi
push eax
call fcn.004b53e0
add esp, 0xc
lea eax, [esp + 0x78]
push str.PRP077.txt
push eax
call fcn.0045e8df
mov edi, eax
call fcn.0041b048
push eax
push str.:4:PrintLaserCashReport___FAILED:_ArchiveReportPRP077___FAILED:__d
call fcn.004178df
add esp, 0x10
call fcn.0040eb6c
test eax, eax
je 0x433a22
cmp dword [0x6293e4], esi
jne 0x4339ea
mov eax, dword [ebx + 0x216c]
cmp eax, esi
mov edi, dword [ebx + 0x2174]
mov ecx, dword [ebx + 0x2184]
mov dword [esp + 0x10], eax
jne 0x433a00
mov eax, dword [ebx + 0x2164]
cmp eax, esi
jle 0x433a00
mov edi, dword [ebx + 0x2168]
mov ecx, dword [ebx + 0x2180]
jmp 0x4339fc
mov eax, dword [ebx + 0x215c]
mov edi, dword [ebx + 0x2160]
mov ecx, dword [ebx + 0x2178]
mov dword [esp + 0x10], eax
call fcn.00433839
test eax, eax
jne 0x433a52
mov eax, dword [esp + 0x1c]
call fcn.0043f211
push str.:0:FYI:_The_EOD_report_is_not_laser_printing_because_not_purchased.
call fcn.00417db7
pop ecx
jmp 0x43394c
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 0x433a52
mov edi, dword [ebx + 0x2174]
mov ecx, dword [ebx + 0x2184]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], esi
jle 0x433af8
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x433a85
test byte [eax], 1
je 0x433a85
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.00417db7
add esp, 0xc
mov dword [esp + 0x14], 1
jmp 0x433aaa
mov eax, dword [esp + 0x10]
push edi
push 1
push ecx
push str.PRP077
push esi
call fcn.0046bb19
pop ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.0046b1ff
add esp, 0x14
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
cmp eax, 0x64
jle 0x433ac2
push esi
call fcn.0046bb19
pop ecx
push eax
push str.Net_Printer__s
jmp 0x433ac8
push eax
push str.TAMS_Report_d
lea eax, [esp + 0x40]
push 0x20
push eax
call fcn.0047da40
add esp, 0x10
cmp edi, esi
jle 0x433b8e
push edi
push str.__tray__d_
push 0x20
pop eax
lea edi, [esp + 0x40]
call fcn.0047d9fe
pop ecx
pop ecx
jmp 0x433b8e
call fcn.00460bc5
push str.Laser.cfg
push esi
mov edi, eax
call fcn.0045e70f
push edi
mov ecx, eax
call fcn.00468d07
add esp, 0xc
test eax, eax
jne 0x433b51
push esi
mov esi, edi
call fcn.00468514
pop ecx
call fcn.0040eb6c
test eax, eax
je 0x433b51
push 0x20
lea eax, [esp + 0x3c]
call fcn.00468aa3
cmp dword [ebx + 0x2154], 0
pop ecx
lea eax, [esp + 0x38]
push eax
jge 0x433ba1
push str.:5:PrintLaserCashReport___had_to_print_to_the_Windows_DEFAULT_printer___s_
call fcn.00417db7
pop ecx
pop ecx
push 0x20
lea eax, [esp + 0x3c]
mov esi, edi
call fcn.00468aa3
pop ecx
push 1
mov eax, edi
call fcn.00468782
pop ecx
push 0x85
push dword [esp + 0x20]
mov ecx, edi
push str.PRP077
call fcn.00467ca3
mov dword [esp + 0x20], eax
add esp, 0xc
mov eax, edi
call fcn.00460c50
xor esi, esi
mov edi, dword [esp + 0x18]
cmp edi, esi
je 0x433bc5
cmp dword [esp + 0x14], esi
je 0x433bc2
or dword [edi], 1
jmp 0x433bc5
push str.:6:PrintLaserCashReport___FAILED:_Not_allowed_to_print_to_the_Windows_DEFAULT_printer___s_
call fcn.00417db7
mov eax, dword [esp + 0x24]
pop ecx
pop ecx
call fcn.0043f211
mov eax, edi
call fcn.00460c50
jmp 0x433e23
and dword [edi], 0xfffffffe
cmp dword [ebp + 0x24], esi
je 0x433cf4
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 0x433bfb
push esi
call fcn.0046bb19
pop ecx
push eax
push str.Net_Printer__s
jmp 0x433c01
push eax
push str.TAMS__d
lea eax, [esp + 0x60]
push 0x20
push eax
call fcn.0047da40
add esp, 0x10
call fcn.0040a5c4
cmp dword [esp + 0x14], esi
mov eax, dword [ebx + 0x2164]
je 0x433c62
cmp eax, esi
jle 0x433c4c
cmp eax, dword [esp + 0x10]
je 0x433c4c
call fcn.0040eb6c
test eax, eax
jne 0x433c4c
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 0x433c8c
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 0x433cac
cmp eax, esi
jle 0x433c98
cmp eax, dword [esp + 0x10]
je 0x433c98
call fcn.0040eb6c
test eax, eax
jne 0x433c98
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.00422560
add esp, 0x18
mov edi, eax
jmp 0x433cb6
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.00422bd0
add esp, 0x1c
cmp edi, esi
je 0x433e0a
push dword [ebx + 0x2168]
mov eax, dword [ebx + 0x2164]
push 1
push dword [ebx + 0x2180]
push str.PRP077_2
push esi
call fcn.0046bb19
pop ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.0046b1ff
add esp, 0x14
mov dword [esp + 0x20], eax
jmp 0x433e0a
cmp dword [0x6293e4], esi
jne 0x433e0a
cmp dword [esp + 0x14], esi
mov dword [0x6293e4], 1
jne 0x433d65
cmp edi, esi
mov dword [esp + 0x18], esi
je 0x433d1e
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.0043387c
mov eax, dword [esp + 0x3c]
add esp, 0x24
cmp edi, esi
je 0x433d4e
mov dword [edi], eax
test al, 1
je 0x433d8f
push str.:2:PrintLaserCashReport___FAILED_but_then_succeeded_using_the_local_printer.
mov dword [esp + 0x18], 1
call fcn.00417db7
pop ecx
cmp edi, esi
je 0x433d95
test byte [edi], 2
je 0x433d95
mov ebx, dword [ebx + 0x2164]
cmp ebx, esi
jle 0x433d85
push ebx
push str.:2:PrintLaserCashReport___is_not_printing_the_duplicate_report_because_it_was_already_printed_to_prn_d.
call fcn.00417db7
pop ecx
pop ecx
mov dword [esp + 0x20], 1
jmp 0x433e04
mov dword [esp + 0x14], esi
jmp 0x433d65
mov eax, dword [ebx + 0x2164]
cmp eax, esi
jle 0x433dea
cmp dword [ebx + 0x216c], esi
je 0x433dea
push dword [ebx + 0x2168]
push 1
push dword [ebx + 0x2180]
push str.PRP077_2
push esi
call fcn.0046bb19
pop ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.0046b1ff
add esp, 0x14
cmp eax, esi
mov dword [esp + 0x20], eax
jne 0x433df2
push dword [ebx + 0x2164]
push str.:4:PrintToReportPrinter___FAILED:_Could_not_print_the_the_duplicate_report_printer__d.
call fcn.004178df
pop ecx
pop ecx
jmp 0x433df2
mov dword [esp + 0x20], 1
cmp edi, esi
je 0x433e04
cmp dword [esp + 0x20], esi
je 0x433e01
or dword [edi], 2
jmp 0x433e04
and dword [edi], 0xfffffffd
mov dword [0x6293e4], esi
mov eax, dword [esp + 0x1c]
call fcn.0043f211
cmp dword [esp + 0x14], esi
je 0x433e23
cmp dword [esp + 0x20], esi
jne 0x433957
xor eax, eax
mov ecx, dword [esp + 0x184]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004b4c95
mov esp, ebp
pop ebp
ret