Function at 0x406880
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4424
call fcn.00417d20
mov eax, dword [0x427494]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x42d09c], 0
push ebx
push esi
push edi
jne 0x406b85
mov eax, dword [0x42d094]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, str.ENTERING______________________________________PrintValuesOfGlobalListerFile
mov esi, 0x42a090
call fcn.00401870
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileW]
push 0
push 0x80
push 4
push 0
push 0
push 0x80000000
push 0x4296f0
call esi
mov edi, eax
cmp edi, 0xffffffff
jne 0x406953
push str.ERROR______________hFile__INVALID_HANDLE_VALUE___FileName__
lea ecx, [ebp - 0x808]
push 0x400
push ecx
call fcn.00409a5f
add esp, 0xc
push 0x4296f0
lea edx, [ebp - 0x808]
push 0x400
push edx
call fcn.0040a82d
add esp, 0xc
lea edx, [ebp - 0x808]
mov esi, 0x42a090
call fcn.00401870
mov edx, str.LEAVING______________________________________PrintValuesOfGlobalListerFile
call fcn.00401870
mov eax, dword [0x42d094]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409a50
mov esp, ebp
pop ebp
ret
push 0x4296f0
lea ecx, [ebp - 0x1008]
push 0x400
push ecx
call fcn.00409a5f
add esp, 0xc
push str..tmpltAll
lea edx, [ebp - 0x1008]
push 0x400
push edx
call fcn.0040a82d
add esp, 0xc
push 0
push 0x80
push 4
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x1008]
push eax
call esi
mov dword [ebp - 0x441c], eax
cmp eax, 0xffffffff
jne 0x406a1e
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.ERROR______________hFile__INVALID_HANDLE_VALUE___FileName__
lea ecx, [ebp - 0x808]
push 0x400
push ecx
call fcn.00409a5f
add esp, 0xc
lea edx, [ebp - 0x1008]
push edx
lea eax, [ebp - 0x808]
push 0x400
push eax
call fcn.0040a82d
add esp, 0xc
lea edx, [ebp - 0x808]
mov esi, 0x42a090
call fcn.00401870
mov edx, str.LEAVING______________________________________PrintValuesOfGlobalListerFile
call fcn.00401870
mov ecx, dword [0x42d094]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409a50
mov esp, ebp
pop ebp
ret
push 0x422b48
lea edx, [ebp - 0x4418]
push 0x400
push edx
call fcn.00409a5f
add esp, 0xc
mov esi, edi
lea ecx, [ebp - 0x4418]
mov byte [ebp - 0x3c10], 0
mov ebx, 1
call fcn.00404fb0
test al, al
je 0x406b57
jmp 0x406a60
lea eax, [ebp - 0x4418]
push eax
lea ecx, [ebp - 0x1808]
push 0x400
push ecx
call fcn.00409a5f
add esp, 0xc
lea edx, [ebp - 0x4418]
push edx
lea esi, [ebp - 0x808]
call fcn.004052a0
cmp byte [ebp - 0x3c10], 0
mov eax, str.TRUE
jne 0x406aa0
mov eax, str.FALSE
push eax
lea eax, [ebp - 0x808]
push eax
lea ecx, [ebp - 0x1808]
push ecx
push ebx
push str._d___s__s__s_r_n
lea edx, [ebp - 0x3c08]
push 0xc00
push edx
call fcn.0040acfa
lea eax, [ebp - 0x3c08]
add esp, 0x1c
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x406ad2
sub eax, edx
sar eax, 1
inc eax
push eax
lea eax, [ebp - 0x3c08]
push eax
push 0xc00
lea ecx, [ebp - 0x2408]
push ecx
lea edx, [ebp - 0x4424]
push edx
call fcn.0040a80d
lea eax, [ebp - 0x2408]
add esp, 0x14
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406b10
push 0
sub eax, edx
lea ecx, [ebp - 0x4420]
push ecx
push eax
mov eax, dword [ebp - 0x441c]
lea edx, [ebp - 0x2408]
push edx
push eax
mov dword [ebp - 0x4420], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov esi, edi
lea ecx, [ebp - 0x4418]
inc ebx
call fcn.00404fb0
test al, al
jne 0x406a60
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call esi
mov ecx, dword [ebp - 0x441c]
push ecx
call esi
mov edx, dword [0x42d094]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edx, str.LEAVING______________________________________PrintValuesOfGlobalListerFile
mov esi, 0x42a090
call fcn.00401870
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00409a50
mov esp, ebp
pop ebp
ret