Function at 0x409b5b
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4207f6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
push ebx
push esi
mov dword [ebp - 0x68], ecx
call fcn.00409373
mov dword [ebp - 0x40], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0040935f
pop ecx
pop ecx
movzx eax, al
test eax, eax
je 0x409baa
lea eax, [ebp + 8]
push eax
call fcn.00409e31
pop ecx
jmp 0x409e21
mov ecx, dword [ebp - 0x68]
call fcn.0040ac34
test eax, eax
je 0x409bec
mov ecx, dword [ebp - 0x68]
call fcn.0040ac34
mov esi, eax
mov ecx, dword [ebp - 0x68]
call fcn.0040ac8f
cmp esi, eax
jae 0x409bec
lea eax, [ebp + 8]
push eax
call fcn.00409992
pop ecx
mov bl, al
mov ecx, dword [ebp - 0x68]
call fcn.0040ad72
mov byte [eax], bl
mov eax, dword [ebp + 8]
jmp 0x409e21
mov eax, dword [ebp - 0x68]
cmp dword [eax + 0x54], 0
jne 0x409bff
call fcn.00409373
jmp 0x409e21
mov ecx, dword [ebp - 0x68]
call fcn.0040b205
mov eax, dword [ebp - 0x68]
cmp dword [eax + 0x44], 0
jne 0x409c4f
mov eax, dword [ebp - 0x68]
push dword [eax + 0x54]
lea eax, [ebp + 8]
push eax
call fcn.00409992
pop ecx
movzx eax, al
push eax
call fcn.00409e5d
pop ecx
pop ecx
movzx eax, al
test eax, eax
je 0x409c3a
mov eax, dword [ebp + 8]
mov dword [ebp - 0x6c], eax
jmp 0x409c42
call fcn.00409373
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
jmp 0x409e21
mov dword [ebp - 0x10], 8
lea eax, [ebp + 8]
push eax
call fcn.00409992
pop ecx
mov byte [ebp - 0x15], al
push 0
push 8
lea ecx, [ebp - 0x38]
call fcn.0040a6de
and dword [ebp - 4], 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040a86d
mov ecx, eax
call fcn.0040b298
mov esi, eax
lea ecx, [ebp - 0x38]
call fcn.0040b30c
add esi, eax
push esi
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040a86d
mov ecx, eax
call fcn.0040b298
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x15]
push eax
mov eax, dword [ebp - 0x68]
add eax, 0x4c
push eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + 0x44]
call fcn.0040b370
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jl 0x409df7
cmp dword [ebp - 0x70], 1
jle 0x409ceb
cmp dword [ebp - 0x70], 3
je 0x409db9
jmp 0x409df7
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040a86d
mov ecx, eax
call fcn.0040b298
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
je 0x409d50
mov eax, dword [ebp - 0x68]
push dword [eax + 0x54]
push dword [ebp - 0x3c]
push 1
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040a86d
mov ecx, eax
call fcn.0040b298
push eax
call fcn.00410c59
add esp, 0x10
cmp dword [ebp - 0x3c], eax
je 0x409d50
call fcn.00409373
mov dword [ebp - 0x54], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.004091fd
mov eax, dword [ebp - 0x54]
jmp 0x409e21
mov eax, dword [ebp - 0x68]
mov byte [eax + 0x49], 1
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x15]
cmp eax, ecx
je 0x409d7b
mov eax, dword [ebp + 8]
mov dword [ebp - 0x58], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.004091fd
mov eax, dword [ebp - 0x58]
jmp 0x409e21
cmp dword [ebp - 0x3c], 0
jbe 0x409d83
jmp 0x409db7
lea ecx, [ebp - 0x38]
call fcn.0040b30c
cmp eax, 0x20
jae 0x409d9e
push 0
push 8
lea ecx, [ebp - 0x38]
call fcn.0040a741
jmp 0x409db7
call fcn.00409373
mov dword [ebp - 0x5c], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.004091fd
mov eax, dword [ebp - 0x5c]
jmp 0x409e21
jmp 0x409e10
mov eax, dword [ebp - 0x68]
push dword [eax + 0x54]
push dword [ebp - 0x15]
call fcn.00409e5d
pop ecx
pop ecx
movzx eax, al
test eax, eax
je 0x409dd8
mov eax, dword [ebp + 8]
mov dword [ebp - 0x74], eax
jmp 0x409de0
call fcn.00409373
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x60], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.004091fd
mov eax, dword [ebp - 0x60]
jmp 0x409e21
call fcn.00409373
mov dword [ebp - 0x64], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.004091fd
mov eax, dword [ebp - 0x64]
jmp 0x409e21
jmp 0x409c73
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
pop ebx
leave
ret 4