Function at 0x441220
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5bf846
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x6877f0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x8c], ebx
cmp dword [ebx + 0x18], 0xffffffff
mov edi, dword [ebp + 8]
jne 0x44132f
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x40]
push eax
push ebx
call fcn.004266a0
add esp, 8
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 8
cmovae eax, dword [ebp - 0x40]
push 0
push 0x80
push 4
push 0
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebx + 0x18], eax
cmp eax, 0xffffffff
je 0x441585
push 2
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, ebx
call fcn.00441160
or eax, edx
lea ecx, [ebp - 0x74]
push ebx
jne 0x4412f0
call fcn.004261c0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 1
push ecx
mov ecx, eax
call fcn.00426a60
mov byte [ebp - 4], 2
jmp 0x44130b
call fcn.004261c0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 3
push ecx
mov ecx, eax
call fcn.00426910
mov byte [ebp - 4], 4
push eax
lea ecx, [ebx + 0x20]
call fcn.004278a0
lea ecx, [ebp - 0x88]
call fcn.00406510
lea ecx, [ebp - 0x74]
call fcn.00426400
lea ecx, [ebp - 0x40]
call fcn.004068b0
mov ecx, 0xf
mov byte [ebp - 0x28], 0
xor esi, esi
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ecx
mov edx, dword [edi + 0x10]
mov dword [ebp - 4], 5
lea ebx, [edx + 0x10]
cmp ebx, ecx
jbe 0x4413a2
cmp ebx, 0x7fffffff
ja 0x44159e
mov esi, ebx
or esi, ecx
cmp esi, 0x7fffffff
jbe 0x441373
mov esi, closesocket
jmp 0x44137d
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040a780
mov cl, byte [ebp - 0x28]
mov dword [ebp - 0x14], esi
xor esi, esi
mov byte [eax], cl
mov ecx, dword [ebp - 0x14]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x7c], ecx
cmp dword [edi + 0x14], 0x10
mov eax, edi
mov dword [ebp - 0x80], eax
jb 0x4413b4
mov eax, dword [edi]
mov edi, eax
mov dword [ebp - 0x80], eax
add edx, edi
mov dword [ebp - 0x84], edx
cmp eax, edx
je 0x4414e2
mov dl, byte [eax]
mov byte [ebp - 0x75], dl
cmp dl, 0xa
jne 0x4413e2
push 2
push 0x5cb414
lea ecx, [ebp - 0x28]
call fcn.0040a150
jmp 0x4414c5
cmp esi, ecx
jae 0x441403
lea eax, [esi + 1]
cmp ecx, 0x10
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
mov byte [eax + esi], dl
mov byte [eax + esi + 1], 0
jmp 0x4414c5
mov eax, closesocket
sub eax, esi
cmp eax, 1
jb 0x44159e
lea edi, [esi + 1]
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x441428
mov edi, closesocket
jmp 0x441446
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x44143e
mov edi, closesocket
jmp 0x441446
lea eax, [ecx + edx]
cmp edi, eax
cmovb edi, eax
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040a780
cmp dword [ebp - 0x7c], 0x10
mov ebx, eax
lea eax, [esi + 1]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], eax
push esi
jb 0x4414aa
mov edi, dword [ebp - 0x28]
push edi
push ebx
call fcn.0058d090
mov ecx, dword [ebp - 0x7c]
add esp, 0xc
mov al, byte [ebp - 0x75]
inc ecx
mov byte [esi + ebx], al
mov byte [esi + ebx + 1], 0
cmp ecx, 0x1000
jb 0x44149e
mov edx, dword [edi - 4]
add ecx, 0x23
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x4415d5
mov edi, edx
push ecx
push edi
call fcn.00575155
add esp, 8
jmp 0x4414c2
lea eax, [ebp - 0x28]
push eax
push ebx
call fcn.0058d090
mov al, byte [ebp - 0x75]
add esp, 0xc
mov byte [esi + ebx], al
mov byte [esi + ebx + 1], 0
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp eax, dword [ebp - 0x84]
je 0x4414e2
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x7c], ecx
jmp 0x4413c4
push 2
push 0x5cb414
lea ecx, [ebp - 0x28]
call fcn.0040a150
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x90]
mov esi, dword [ebp - 0x8c]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push 0
push ecx
push dword [ebp - 0x18]
push eax
push dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4415a3
cmp byte [ebp + 0xc], 0
je 0x441537
push dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
je 0x4415bc
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x441567
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44155d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4415d5
push edx
push ecx
call fcn.00575155
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00574c7a
mov esp, ebp
pop ebp
ret 8
push 0
push ebx
lea ecx, [ebp - 0x6c]
call fcn.0042e160
push 0x67db3c
lea eax, [ebp - 0x6c]
push eax
call fcn.0058d023
call fcn.0040cdd0
push 0
push esi
lea ecx, [ebp - 0x6c]
call fcn.0042e8a0
push 0x67b76c
lea eax, [ebp - 0x6c]
push eax
call fcn.0058d023
push 0
push esi
lea ecx, [ebp - 0x6c]
call fcn.0042e8a0
push 0x67b76c
lea eax, [ebp - 0x6c]
push eax
call fcn.0058d023
call fcn.0059b248
int3