Function at 0x4205f0
Capabilities:
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x438
mov eax, dword [0x7b92f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
lea ebx, [esi + 8]
push ebx
call fcn.00420300
add esp, 4
lea eax, [ebp - 0x41c]
lea ecx, [esi + 0xc]
push eax
call fcn.0041fc90
mov eax, dword [0x7bc774]
test eax, eax
je 0x420654
lea ecx, [ebp - 0x41c]
push ecx
push dword [esi + 0xa0]
push dword [esi + 0xa8]
push dword [esi + 0xa4]
push dword [esi]
call eax
add esp, 0x14
test al, al
jne 0x42083a
test byte [section..data], 2
je 0x42067a
cmp dword [ebp - 0x408], 0x10
lea eax, [ebp - 0x41c]
cmovae eax, dword [ebp - 0x41c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x42067f
cmp dword [esi], 2
jl 0x4206b9
cmp dword [ebp - 0x408], 0x10
lea eax, [ebp - 0x41c]
cmovae eax, dword [ebp - 0x41c]
push eax
push 0x791130
push 2
call fcn.004b8e9d
add esp, 4
push eax
call fcn.0041cb90
push 2
call fcn.004b8e9d
push eax
call fcn.004b91eb
add esp, 0x14
test byte [section..data], 1
je 0x420763
push 0
push 0
call fcn.00421340
add esp, 8
cmp dword [0x7bc74c], 0
jne 0x4206eb
push 0xffffffffffffffff
push dword [0x7bc744]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x4206f6
mov ecx, dword [0x7bc740]
call fcn.00498b30
call fcn.00421490
test al, al
je 0x420741
push 2
push 0
push 0
push dword [0x7bc764]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp dword [ebp - 0x408], 0x10
lea ecx, [ebp - 0x438]
push 0
push ecx
push dword [ebp - 0x40c]
lea eax, [ebp - 0x41c]
cmovae eax, dword [ebp - 0x41c]
push eax
push dword [0x7bc764]
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [0x7bc74c], 0
jne 0x420758
push dword [0x7bc744]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x420763
mov ecx, dword [0x7bc740]
call fcn.00498c80
mov eax, dword [esi]
cmp eax, 4
jne 0x4207ef
mov ecx, 0x400
lea eax, [ebp - 0x41c]
cmp dword [ebp - 0x40c], ecx
cmovb ecx, dword [ebp - 0x40c]
cmp dword [ebp - 0x408], 0x10
cmovae eax, dword [ebp - 0x41c]
test ecx, ecx
je 0x4207a9
push ecx
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.004af030
add esp, 0xc
lea eax, [ebp - 0x404]
push eax
call fcn.0042f830
add esp, 4
call fcn.0042f800
test al, al
je 0x4207c8
call fcn.0042f810
jmp 0x42083a
cmp dword [0x7bc76c], 0
je 0x4207c1
lea eax, [ebp - 0x434]
push eax
lea ecx, [esi + 0xc]
call fcn.0041fc90
lea eax, [ebp - 0x434]
push eax
call dword [0x7bc76c]
jmp 0x42082c
cmp eax, 3
jne 0x42083a
cmp dword [0x7bc770], 0
lea eax, [ebp - 0x434]
lea ecx, [esi + 0xc]
push eax
je 0x42081b
call fcn.0041fc90
lea eax, [ebp - 0x434]
push eax
call dword [0x7bc770]
jmp 0x42082c
call fcn.0041fc90
lea eax, [ebp - 0x434]
push eax
call fcn.00420da0
add esp, 4
lea ecx, [ebp - 0x434]
call fcn.004015a0
mov eax, dword [ebp - 0x408]
cmp eax, 0x10
jb 0x420858
inc eax
lea ecx, [ebp - 0x41c]
push eax
push dword [ebp - 0x41c]
call fcn.00401a30
push dword [esi + 0xac]
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea esi, [ebx + 0x50]
mov ecx, esi
call fcn.0041da30
push esi
mov dword [esi], 0x4e2b70
call fcn.0049599e
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00496e21
mov esp, ebp
pop ebp
ret