Function at 0x43d230
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x160
mov eax, dword [0x581900]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x104]
push 0x100
push 0
push eax
call fcn.004e69c0
push 0x58
lea eax, [ebp - 0x15c]
push 0
push eax
call fcn.004e69c0
add esp, 0x18
mov dword [ebp - 0x160], 0
test edi, edi
jne 0x43d28d
or eax, 0xffffffff
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50dc
mov esp, ebp
pop ebp
ret
push ebx
push esi
xor esi, esi
cmp dword [edi + 0x23b0], esi
jle 0x43d2d8
lea ebx, [edi + 0x23b4]
nop
mov eax, dword [ebx]
cdq
xor eax, edx
sub eax, edx
push eax
lea eax, [ebp - 0x104]
test esi, esi
jle 0x43d2b9
push str.___d
jmp 0x43d2be
push 0x50d3a8
push 0x100
push eax
call fcn.004a9450
inc esi
add esp, 0x10
add ebx, 4
cmp esi, dword [edi + 0x23b0]
jl 0x43d2a0
push str.This_option_allows_an_employees_invoices_to_be_excluded_by_default._nThis_is_useful_with_the__ALL____DISPATCH___and__RANGE__keywords._nAn_employee_may_be_excluded_manually_at_the_employee_entry_prompt_by_nentering_a_negative_number_such_as__12___18__dispatch_.__However__nif_employee_18_always_needs_to_be_excluded__it_should_be_defined_here_nso_that_only__12__dispatch__needs_to_be_entered._n_nYou_may_define_multiple_employees_by_separating_with_a_comma._nPress__ESC__to_cancel._n_n_rEmployee_Exclusion_List:
push str.__Default_Employee_Exclusions__
push 0
push 0xffffffffffffffff
push 0x19
push 0
lea eax, [ebp - 0x104]
push eax
push 0x5f
push 0x4d
push 0x20
push 0
call fcn.00436480
mov ebx, eax
add esp, 0x2c
test ebx, ebx
je 0x43d3a0
push ebx
call fcn.004a73a0
add esp, 4
test eax, eax
je 0x43d376
mov eax, dword [edi + 0x23b0]
test eax, eax
jle 0x43d3a0
mov esi, str.Do_you_want_to_remove_all_default_employee_exclusions___Y_N__n_nYes___No
cmp eax, 2
jge 0x43d331
mov esi, str.Do_you_want_to_the_default_employee_exclusion___Y_N__n_nYes___No
push 2
push 1
call fcn.00457a30
push eax
push str.AreYouSure_d
push 0
call fcn.004a5630
push esi
push str.__Are_You_Sure___
push eax
push 1
call fcn.00437080
add esp, 0x24
test eax, eax
jne 0x43d376
push edi
call fcn.0043d230
add esp, 4
pop esi
pop ebx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50dc
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x104]
push ebx
push eax
call fcn.004eeba8
add esp, 8
test eax, eax
jne 0x43d3b6
push str.No_changes_were_made._n_nPress_any_key_to_continue...
push str.__No_Changes__
push eax
push eax
push eax
push eax
call fcn.00437650
add esp, 0x18
pop esi
pop ebx
mov eax, 1
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50dc
mov esp, ebp
pop ebp
ret
push ebx
xor esi, esi
call fcn.004a73a0
add esp, 4
test eax, eax
jne 0x43d423
lea eax, [ebp - 0x160]
push eax
push 0x5241dc
push ebx
call fcn.004a8ea0
add esp, 0xc
test eax, eax
je 0x43d423
nop
push eax
call fcn.00456760
cdq
add esp, 4
xor eax, edx
sub eax, edx
neg eax
mov dword [ebp + esi*4 - 0x15c], eax
je 0x43d48b
cmp eax, 0x1869f
jg 0x43d48b
lea eax, [ebp - 0x160]
push eax
push 0x5241dc
push 0
call fcn.004a8ea0
add esp, 0xc
inc esi
test eax, eax
jne 0x43d3e0
xor ecx, ecx
test esi, esi
jle 0x43d449
lea ebx, [edi + 0x23b4]
nop
mov eax, dword [ebp + ecx*4 - 0x15c]
lea ebx, [ebx + 4]
cdq
inc ecx
xor eax, edx
sub eax, edx
neg eax
mov dword [ebx - 4], eax
cmp ecx, esi
jl 0x43d430
push edi
mov dword [edi + 0x23b0], esi
call fcn.00454980
add esp, 4
test eax, eax
jne 0x43d4bc
push str._nAn_error_occurred_and_your_changes_could_not_be_saved._nPlease_try_the_operation_again_later._n_nPress_any_key...
push str.__UPDATE_FAILED___
push str.NotGood.wav
push eax
push eax
push 1
call fcn.00437650
add esp, 0x18
or eax, 0xffffffff
pop esi
pop ebx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50dc
mov esp, ebp
pop ebp
ret
push str.The_entry_you_made_is_not_valid._nPlease_enter_one_or_more_employee_numbers_separated_with_a_comma._nAlso_note_that_valid_numbers_range_from_1_through_99999._n_nPress_any_key_to_try_again...
push str.__INVALID_ENTRY___
push 0
push 0
push 0
push 1
call fcn.00437650
push edi
call fcn.0043d230
add esp, 0x1c
pop esi
pop ebx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50dc
mov esp, ebp
pop ebp
ret
push str._nYour_changes_have_been_successfully_saved._n_nPress_any_key...
push str.__Update_Succeeded__
push str.DeepBeep.WAV
push 0
push 1
push 0
call fcn.00437650
mov ecx, dword [ebp - 4]
add esp, 0x18
xor ecx, ebp
xor eax, eax
pop esi
pop ebx
pop edi
call fcn.004e50dc
mov esp, ebp
pop ebp
ret