Function at 0x409195
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x674
mov eax, dword [0x4b8f40]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0x10]
xor esi, esi
push 0x44c
mov dword [ebp - 0x65c], eax
lea eax, [ebp - 0x658]
push esi
push eax
mov dword [ebp - 0x660], esi
call fcn.0044f154
push 0x208
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x66c], esi
push esi
push eax
mov dword [ebp - 0x668], esi
mov dword [ebp - 0x664], esi
mov dword [ebp - 0x670], esi
call fcn.0044f154
mov eax, dword [edi + 0x21c]
add esp, 0x18
mov eax, dword [eax]
cmp eax, dword [edi + 4]
jb 0x40922f
call fcn.0041e1d1
test eax, eax
je 0x409221
push str.Failed_to_add_item_to_queue___Queue_is_full_r_n
call fcn.0041fda5
cmp dword [edi + 4], esi
je 0x4094b6
jmp 0x4094b3
mov eax, dword [edi]
test al, 2
je 0x409260
and eax, 0x10000000
push eax
call fcn.00420ba7
test eax, eax
jne 0x409260
call fcn.0041e1d1
test eax, eax
je 0x4094b6
push str.Failed_to_add_item_to_sign_off_queue___Disabled_r_n
call fcn.0041fda5
jmp 0x4094b6
push 1
lea eax, [ebp - 0x670]
push eax
push edi
call fcn.004096b0
test eax, eax
jne 0x409287
call fcn.0041e1d1
test eax, eax
je 0x4094b6
push str.Failed_to_get_security_descriptor_for_queue_dir_r_n
jmp 0x409256
push esi
lea eax, [ebp - 0x668]
mov dword [ebp - 0x664], esi
push eax
push edi
mov dword [ebp - 0x66c], 0xc
call fcn.004096b0
test eax, eax
jne 0x4092bd
call fcn.0041e1d1
test eax, eax
je 0x4094b6
push str.Failed_to_get_security_descriptor_for_queue_file_r_n
jmp 0x409256
cmp dword [0x4d01a8], esi
jne 0x409301
call fcn.0040fc37
mov ecx, dword [ebp - 0x65c]
test eax, eax
je 0x409307
cmp dword [0x4bb748], 2
jne 0x4092f8
mov eax, dword [ecx + 0x113c]
test eax, eax
je 0x4092f1
cmp word [eax], si
je 0x4092f1
xor eax, eax
inc eax
jmp 0x4092f3
mov eax, esi
mov dword [ebx + 0x28], eax
jmp 0x409307
mov dword [ebx + 0x28], 1
jmp 0x409307
mov ecx, dword [ebp - 0x65c]
mov dword [ebx + 0x14], 1
mov eax, dword [ecx + 0x1140]
mov dword [ebx + 0x30], eax
push dword [ecx + 0x113c]
push esi
push esi
push ebx
call fcn.0040c48d
test eax, eax
jne 0x409340
call fcn.0041e1d1
test eax, eax
je 0x4094b6
push str.Failed_to_create_cab_from_manifest___not_added_to_queue_r_n
jmp 0x409256
push dword [ebp - 0x670]
push edi
call fcn.0040a454
test eax, eax
je 0x4094b6
lea ecx, [ebp - 0x66c]
push ecx
push 0x100002
push 0x104
lea ecx, [ebp - 0x658]
push ecx
push str..cab
lea eax, [edi + 0xc]
push eax
lea eax, [ebp - 0x660]
push eax
call fcn.0041cd51
test eax, eax
jne 0x4093a7
call fcn.0041e1d1
test eax, eax
je 0x409398
push str.Failed_to_get_temp_name_for_cab___not_added_to_queue_r_n
call fcn.0041fda5
push 0x30303030
call fcn.0044b12a
jmp 0x4094b6
push esi
lea eax, [ebp - 0x674]
push eax
push dword [ebx + 0x1c]
push dword [ebx + 0x20]
push dword [ebp - 0x660]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x4093dc
call fcn.0041e1d1
test eax, eax
je 0x4094b6
push str.Failed_to_write_cab___not_added_to_queue_r_n
jmp 0x409256
push 0x104
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x658]
push eax
call fcn.0040a564
push edi
call fcn.0040a61d
test eax, eax
je 0x4094b6
lea eax, [ebp - 0x66c]
push eax
push ebx
push dword [ebp - 0x65c]
lea eax, [ebp - 0x450]
push eax
call fcn.004098ec
test eax, eax
jne 0x409437
call fcn.0041e1d1
test eax, eax
je 0x4094b6
push str.Failed_to_create_instruction_file___not_added_to_queue_r_n
jmp 0x409256
mov ebx, 0x104
lea eax, [ebp - 0x20c]
push ebx
push eax
lea eax, [edi + 0xc]
push eax
call fcn.00406256
push ebx
lea eax, [ebp - 0x20c]
push eax
push 0x47d358
call fcn.00430486
push ebx
lea eax, [ebp - 0x20c]
push eax
push str.dwq.snt
call fcn.00430486
lea eax, [ebp - 0x66c]
push eax
push 0x100002
lea eax, [ebp - 0x20c]
push eax
call fcn.0040b7fc
test eax, eax
jne 0x4094a0
call fcn.0041e1d1
test eax, eax
je 0x4094b6
push str.Failed_to_create_snt_file___not_added_to_queue_r_n
jmp 0x409256
call fcn.0041e1d1
test eax, eax
je 0x4094b3
push str.SUCCESS_adding_report_to_queue_r_n
call fcn.0041fda5
xor esi, esi
inc esi
push dword [edi + 0x214]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [ebp - 0x660], 0
je 0x4094d7
push dword [ebp - 0x660]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x4094f9
test dword [edi], 0x10000000
jne 0x4094ec
call fcn.00409775
test eax, eax
je 0x4094f9
mov eax, dword [edi]
or eax, 0x30000
push eax
call fcn.0040bd26
push dword [ebp - 0x668]
call dword [sym.imp.KERNEL32.dll_LocalFree]
test esi, esi
jne 0x409521
lea eax, [ebp - 0x658]
push eax
call fcn.0041a4a8
lea eax, [ebp - 0x450]
push eax
call fcn.0041a4a8
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0044d772
mov esp, ebp
pop ebp
ret 0xc