Function at 0x405e80
Capabilities:
Write file on windows

Disassembly:
mov edx, dword [0x4202d8]
test edx, edx
je 0x4060eb
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov eax, dword [0x42068c]
mov dword [esp + 0x20], eax
test eax, eax
je 0x4060e3
mov eax, dword [0x41ff80]
test eax, eax
jne 0x4060b2
mov ebx, 0x41fce0
mov ecx, 0xa7
mov eax, 0x20202020
mov edi, ebx
rep stosd dword es:[edi], eax
mov byte [edi], 0x20
test edx, edx
jle 0x406118
lea ecx, [edx + edx*4]
mov eax, 0xb
shl ecx, 2
lea esi, [ecx + 0xb]
nop
mov byte [eax + 0x41fce0], 0x2b
add eax, 0x14
mov byte [eax + 0x41fccd], 0x2d
mov byte [eax + 0x41fcce], 0x2d
mov byte [eax + 0x41fccf], 0x2d
mov byte [eax + 0x41fcd0], 0x2d
mov byte [eax + 0x41fcd1], 0x2d
mov byte [eax + 0x41fcd2], 0x2d
mov byte [eax + 0x41fcd3], 0x2d
mov byte [eax + 0x41fcd5], 0x2d
mov byte [eax + 0x41fcd6], 0x2d
mov byte [eax + 0x41fcd7], 0x2d
mov byte [eax + 0x41fcd8], 0x2d
mov byte [eax + 0x41fcd9], 0x2d
mov byte [eax + 0x41fcda], 0x2d
mov byte [eax + 0x41fcdb], 0x2d
mov byte [eax + 0x41fcd4], 0x2b
mov byte [eax + 0x41fcdc], 0x2b
cmp eax, esi
jne 0x405ee0
lea eax, [ecx + 8]
shl edx, 6
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], eax
lea eax, [ecx + 9]
mov dword [esp + 0x1c], 0x4202e0
mov dword [esp + 0x28], eax
lea eax, [edx + 0x4202e0]
mov edx, 0x1a
mov byte [ecx + 0x41fce8], 0xa
mov esi, eax
add ecx, 0x41fce9
lea esi, [esi]
mov byte [ecx + edx - 0xf], 0x7c
mov edi, dword [esp + 0x1c]
mov ebx, dword [edi]
add edi, 4
lea eax, [ebx - 0x1010101]
not ebx
and eax, ebx
and eax, 0x80808080
je 0x405fa1
mov ebp, eax
shr ebp, 0x10
test eax, 0x8080
cmove eax, ebp
lea ebp, [edi + 2]
cmove edi, ebp
mov ebx, eax
add bl, al
lea eax, [edx - 0xe]
sbb edi, 3
sub edi, dword [esp + 0x1c]
cmp edi, 0xe
ja 0x405fea
mov ebx, 0xf
sub ebx, edi
mov edi, ebx
sar edi, 1
add eax, edi
mov edi, dword [esp + 0x1c]
movzx ebx, byte [edi]
test bl, bl
je 0x406013
cmp eax, edx
jg 0x406013
mov ebp, edi
sub ebp, eax
jmp 0x406004
cmp eax, edx
jg 0x406013
mov byte [ecx + eax], bl
add eax, 1
movzx ebx, byte [ebp + eax]
test bl, bl
jne 0x406000
add dword [esp + 0x1c], 0x40
mov eax, dword [esp + 0x1c]
mov byte [ecx + edx + 1], 0x7c
add edx, 0x14
cmp esi, eax
jne 0x405f98
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
add ecx, eax
mov byte [eax + edx + 0x41fce0], 0xa
add esi, ecx
lea eax, [ecx + 0xb]
lea esi, [esi]
nop
mov byte [eax], 0x2b
add eax, 0x14
mov byte [eax - 0x13], 0x2d
mov byte [eax - 0x12], 0x2d
mov byte [eax - 0x11], 0x2d
mov byte [eax - 0x10], 0x2d
mov byte [eax - 0xf], 0x2d
mov byte [eax - 0xe], 0x2d
mov byte [eax - 0xd], 0x2d
mov byte [eax - 0xb], 0x2d
mov byte [eax - 0xa], 0x2d
mov byte [eax - 9], 0x2d
mov byte [eax - 8], 0x2d
mov byte [eax - 7], 0x2d
mov byte [eax - 6], 0x2d
mov byte [eax - 5], 0x2d
mov byte [eax - 0xc], 0x2b
mov byte [eax - 4], 0x2b
cmp eax, esi
jne 0x406050
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
add eax, ecx
sub eax, 0x41fce0
mov byte [ecx + esi], 0xa
mov dword [0x41ff80], eax
mov edx, dword [0x4202d4]
test edx, edx
je 0x4060ec
mov esi, dword [esp + 0x20]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp + 0xc], esi
mov dword [esp], 0x41fce0
call sym._fwrite
add dword [0x4202d4], 3
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
ret
mov eax, dword [esp + 0x20]
mov dword [esp + 8], 0x420560
mov dword [esp + 4], str._g__s_n_n
mov dword [esp], eax
call sym._fprintf_s
mov eax, dword [0x42068c]
mov dword [esp + 0x20], eax
mov eax, dword [0x41ff80]
jmp 0x4060bc
mov byte [0x41ff7d], 0xa
mov eax, 0x29e
mov ecx, 0x42021c
mov byte [0x42021b], 0xa
mov dword [esp + 0x24], 0x29d
jmp 0x40609e