Function at 0x444720
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x1dc
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebp
mov ebp, 0xffffffff
mov dword [esp + 0xb0], ebp
mov ecx, 0
mov dword [esp + 0xac], ecx
mov edx, dword [esp + 0x1e0]
mov dword [esp], edx
call fcn.00443d30
mov dword [esp + 0xa8], ebp
test eax, eax
mov dword [esp + 0xb4], eax
jne 0x444783
mov eax, 3
mov dword [0x461af0], eax
jmp 0x444b48
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + 0xc]
and edx, 1
je 0x4447c4
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 4]
mov dword [esp], ecx
mov edx, 0
mov dword [esp + 4], edx
mov dword [esp + 8], edx
mov eax, 2
mov dword [esp + 0xc], eax
call sub.KERNEL32.dll_SetFilePointer
sub esp, 0x10
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + 0xc]
and edx, 6
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0xb8], eax
je 0x444abf
mov ecx, 0
mov dword [esp + 0x90], ecx
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x1e4]
mov dword [esp + 0x9c], edx
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0xb8]
and eax, eax
je 0x444aa5
mov ecx, dword [esp + 0xb4]
mov edx, ecx
mov dword [esp + 0xa4], edx
nop
nop
nop
nop
mov eax, 0
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
lea ecx, [esp + 0xc0]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x94], edx
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x98], eax
cmp edx, eax
jae 0x44492d
mov ecx, dword [esp + 0x98]
mov edx, ecx
mov ebp, dword [esp + 0x9c]
mov eax, dword [esp + 0x94]
mov edi, eax
mov esi, dword [esp + 0xa0]
mov ebx, edx
sub ebx, edi
nop
nop
nop
nop
nop
nop
nop
movsx ecx, byte [ebp]
mov dword [esp + 0x80], ecx
inc ebp
dec ebx
inc edi
cmp ecx, 0xa
jne 0x4448df
mov edx, dword [esp + 0x84]
mov eax, edx
inc eax
mov dword [esp + 0x84], eax
mov ecx, 0xd
mov byte [edx], cl
mov edx, dword [esp + 0x88]
inc edx
mov dword [esp + 0x88], edx
inc esi
mov eax, dword [esp + 0x84]
mov ecx, eax
inc ecx
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x80]
mov byte [eax], dl
mov eax, dword [esp + 0x88]
inc eax
mov dword [esp + 0x88], eax
cmp eax, 0xff
jge 0x444918
and ebx, ebx
jne 0x4448a0
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x90], edi
mov dword [esp + 0xa0], esi
mov ecx, dword [esp + 0xa4]
mov edi, dword [ecx + 4]
mov edx, 0xfffffff5
mov dword [esp], edx
call sub.KERNEL32.dll_GetStdHandle
sub esp, 4
cmp edi, eax
je 0x444977
mov ecx, dword [esp + 0xa4]
mov esi, dword [ecx + 4]
mov edx, 0xfffffff4
mov dword [esp], edx
call sub.KERNEL32.dll_GetStdHandle
sub esp, 4
cmp esi, eax
jne 0x4449fe
mov ecx, dword [0x461ad4]
mov edx, dword [esp + 0xa4]
mov edx, dword [edx + 4]
mov dword [esp + 8], edx
lea edx, [esp + 0xc0]
mov dword [esp], edx
lea edx, [esp + 0x88]
mov dword [esp + 4], edx
lea edx, [esp + 0xa8]
mov dword [esp + 0xc], edx
call ecx
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x8c], ebp
je 0x4449e2
mov eax, ebp
add eax, dword [esp + 0xac]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x88]
cmp ecx, ebp
jbe 0x444a8f
jmp 0x444aa5
mov edx, 4
mov dword [0x461af0], edx
mov eax, 0xffffffff
mov dword [esp + 0xb0], eax
jmp 0x444a8f
mov ecx, dword [esp + 0xa4]
mov edx, dword [ecx + 4]
mov dword [esp], edx
mov ecx, dword [esp + 0x88]
mov dword [esp + 8], ecx
lea edx, [esp + 0xc0]
mov dword [esp + 4], edx
lea ecx, [esp + 0x8c]
mov dword [esp + 0xc], ecx
mov edx, 0
mov dword [esp + 0x10], edx
call sub.KERNEL32.dll_WriteFile
sub esp, 0x14
and eax, eax
je 0x444a78
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xac]
add ecx, dword [esp + 0x8c]
mov dword [esp + 0xac], ecx
mov edx, dword [esp + 0x88]
cmp eax, edx
jae 0x444a8f
jmp 0x444aa5
mov eax, 4
mov dword [0x461af0], eax
mov ecx, 0xffffffff
mov dword [esp + 0xb0], ecx
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x1e8]
cmp edx, eax
jb 0x444830
mov ecx, dword [esp + 0xac]
sub ecx, dword [esp + 0xa0]
mov dword [esp + 0xb0], ecx
jmp 0x444b48
mov edx, dword [esp + 0xb4]
mov ecx, dword [edx + 4]
mov dword [esp], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp + 8], edx
lea ecx, [esp + 0xac]
mov dword [esp + 0xc], ecx
mov dl, byte [esp + 0x1e4]
mov byte [esp + 4], dl
mov bl, byte [esp + 0x1e5]
mov byte [esp + 5], bl
mov cl, byte [esp + 0x1e6]
mov byte [esp + 6], cl
mov dl, byte [esp + 0x1e7]
mov byte [esp + 7], dl
mov ecx, 0
mov dword [esp + 0x10], ecx
call sub.KERNEL32.dll_WriteFile
sub esp, 0x14
and eax, eax
je 0x444b3d
mov edx, dword [esp + 0xac]
mov dword [esp + 0xb0], edx
jmp 0x444b48
mov eax, 4
mov dword [0x461af0], eax
mov eax, dword [esp + 0xb0]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
add esp, 0x1dc
ret