Function at 0x41b523
Capabilities:
Clear file content
Write file on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5839c1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xd48
mov eax, dword [0x5f3008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 0xc]
xorps xmm0, xmm0
mov esi, dword [0x616724]
mov edi, dword [ebx + 8]
mov dword [ebp - 0xd2c], eax
mov eax, dword [0x6167e8]
movups xmmword [ebp - 0x450], xmm0
mov dword [ebp - 0xd54], eax
mov eax, dword [0x6167a4]
push 0x38
mov dword [ebp - 0xd58], edi
mov dword [ebp - 0xd38], esi
mov dword [ebp - 0xd34], eax
mov byte [ebp - 0xd2d], 1
mov dword [ebp - 0xd40], 0
mov dword [ebp - 0xd48], 0
mov dword [ebp - 0xd4c], 0
movups xmmword [ebp - 0x440], xmm0
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x448], 0
call fcn.00560823
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x44c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x444], 0
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x444]
push eax
push 0x10
mov dword [ebp - 0x438], 7
mov dword [ebp - 0x434], 8
mov dword [ebp - 0x450], 0x3f800000
call fcn.0041dbd0
mov eax, dword [ebp - 0xd2c]
add esi, 0x4c28
push dword [ebp - 0xd38]
mov dword [ebp - 4], 2
mov ecx, 0x228
mov dword [edi], 0
lea edi, [ebp - 0xd28]
mov dword [eax], 0
lea eax, [ebp - 0x418]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xd34]
or esi, 0xffffffff
push 0x200
push eax
mov byte [edi + 0x39bc], 0
mov dword [edi + 0x39b8], 0x10003
call fcn.00565fee
mov ax, word [ebp - 0x418]
add esp, 0xc
xor ecx, ecx
test ax, ax
je 0x41b3cf
movzx edx, ax
cmp dx, 0x5c
mov eax, ecx
cmovne eax, esi
inc ecx
mov esi, eax
movzx eax, word [ebp + ecx*2 - 0x418]
mov edx, eax
test ax, ax
jne 0x41b3b4
xor eax, eax
mov word [ebp + esi*2 - 0x416], ax
lea eax, [ebp - 0x418]
push 0x5aad18
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0
push 0x8000000
push 4
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ecx, eax
mov dword [edi + 0x39f8], ecx
cmp ecx, 0xffffffff
jne 0x41b42f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0xd2c]
mov esi, 0xed9
mov dword [ecx], eax
jmp 0x41b96c
cmp byte [edi + 0x39bc], 0
je case.0x41b44f.6
movsx eax, word [edi + 0x39b8]
add eax, 0xfffffffd
cmp eax, 8
ja case.0x41b44f.6
jmp dword [eax*4 + 0x41b9bc]
push 0
lea eax, [edi + 0x3a0c]
mov word [ebp - 0x41c], 0xbbef
push eax
push 3
lea eax, [ebp - 0x41c]
mov byte [ebp - 0x41a], 0xbf
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne case.0x41b44f.6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0xd2c]
mov esi, 0xeda
mov dword [ecx], eax
jmp 0x41b960
push 0
lea eax, [edi + 0x3a0c]
mov word [ebp - 0x41c], 0xfeff
push eax
push 2
lea eax, [ebp - 0x41c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne case.0x41b44f.6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0xd2c]
mov esi, 0xedb
mov dword [ecx], eax
jmp 0x41b960
push 0
lea eax, [edi + 0x3a0c]
mov word [ebp - 0x41c], 0xfffe
push eax
push 2
lea eax, [ebp - 0x41c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne case.0x41b44f.6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0xd2c]
mov esi, 0xedc
mov dword [ecx], eax
jmp 0x41b960
push 0
lea eax, [edi + 0x3a0c]
mov dword [ebp - 0x41c], 0xfeff
push eax
push 4
lea eax, [ebp - 0x41c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne case.0x41b44f.6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0xd2c]
mov esi, 0xedd
mov dword [ecx], eax
jmp 0x41b960
push 0
lea eax, [edi + 0x3a0c]
mov dword [ebp - 0x41c], 0xfffe0000
push eax
push 4
lea eax, [ebp - 0x41c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne case.0x41b44f.6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0xd2c]
mov esi, 0xede
mov dword [ecx], eax
jmp 0x41b960
mov eax, dword [edi + 0x3a14]
mov esi, dword [eax]
mov eax, esi
mov dword [ebp - 0xd3c], esi
test eax, eax
je 0x41b5c4
xor ecx, ecx
mov eax, dword [eax]
inc ecx
test eax, eax
jne 0x41b5b7
mov dword [ebp - 0xd48], ecx
mov eax, dword [edi + 0x3a18]
push 0x5aace0
push 0
push 0x801d
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [edi + 0x3a18]
push 5
push dword [eax]
call dword [sym.imp.USER32.dll_ShowWindow]
test esi, esi
je 0x41b94e
mov dword [ebp - 0xd38], 0
xor eax, eax
mov dword [ebp - 0x468], 0
push eax
push 0x5a9ff8
lea ecx, [ebp - 0x468]
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 7
mov word [ebp - 0x468], ax
call fcn.0041dac0
mov byte [ebp - 4], 3
mov dword [ebp - 0x420], 0
mov eax, dword [esi + 0x28]
mov al, byte [eax + 0x520]
mov byte [ebp - 0xa34], al
mov eax, dword [esi + 0x28]
movsd xmm0, qword [eax + 0x528]
movsd qword [ebp - 0x628], xmm0
mov eax, dword [esi + 0x28]
movsd xmm0, qword [eax + 0x530]
movsd qword [ebp - 0x620], xmm0
mov eax, dword [esi + 0x28]
movsd xmm0, qword [eax + 0x538]
movsd qword [ebp - 0x618], xmm0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0xd44], edi
test edi, edi
je 0x41b88a
nop
mov eax, dword [esi + 0x28]
mov esi, dword [edi + 0x34]
movzx eax, word [eax + 0x98]
mov dword [ebp - 0xd50], eax
xor eax, eax
mov word [ebp - 0x484], ax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x424], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x430], eax
movzx eax, word [edi + 0x28]
mov dword [ebp - 0x42c], eax
movzx eax, word [edi + 0x2a]
mov dword [ebp - 0x428], eax
test esi, esi
je 0x41b74f
mov edi, dword [ebp - 0xd50]
nop dword [eax]
lea eax, [ebp - 0x420]
mov ecx, esi
push eax
lea eax, [ebp - 0x468]
push eax
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x484]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x430]
push eax
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0xd28]
push eax
push edi
push dword [ebp - 0xd54]
call fcn.004ef6e0
mov esi, dword [esi]
test esi, esi
jne 0x41b6f0
mov edi, dword [ebp - 0xd44]
mov edi, dword [edi]
mov esi, dword [ebp - 0xd3c]
mov dword [ebp - 0xd44], edi
test edi, edi
jne 0x41b6a0
mov eax, dword [ebp - 0x420]
test eax, eax
jle 0x41b88a
cmp dword [ebp - 0x454], 8
lea edi, [ebp - 0x468]
cmovae edi, dword [ebp - 0x468]
xor edx, edx
test eax, eax
jle 0x41b88a
cmp word [edi + edx*2], 0xa
jne 0x41b7c5
test edx, edx
jle 0x41b7c5
cmp word [edi + edx*2 - 2], 0xd
jne 0x41b7c5
lea eax, [edx - 2]
test eax, eax
js 0x41b7e3
nop dword [eax + eax]
movzx ecx, word [edi + eax*2]
cmp ecx, 0xd
je 0x41b7e3
cmp ecx, 0xa
je 0x41b7e3
sub eax, 1
jns 0x41b7b0
jmp 0x41b7e3
lea eax, [edx - 1]
test eax, eax
js 0x41b7e3
nop dword [eax]
movzx ecx, word [edi + eax*2]
cmp ecx, 0xd
je 0x41b7e3
cmp ecx, 0xa
je 0x41b7e3
sub eax, 1
jns 0x41b7d0
inc eax
mov esi, edx
cmp edx, dword [ebp - 0x420]
jge 0x41b819
mov edx, dword [ebp - 0x420]
movzx ecx, word [edi + esi*2]
cmp ecx, 0xd
je 0x41b809
cmp ecx, 0xa
je 0x41b819
inc esi
cmp esi, edx
jl 0x41b7f4
jmp 0x41b819
lea ecx, [esi + 1]
cmp ecx, edx
jge 0x41b819
cmp word [edi + esi*2 + 2], 0xa
cmove esi, ecx
mov ecx, esi
cmp esi, dword [ebp - 0x420]
jge 0x41b844
movzx edx, word [edi + esi*2]
cmp edx, 0xa
jne 0x41b83a
cmp word [edi + esi*2 - 2], 0xd
lea ecx, [esi - 1]
jne 0x41b842
dec ecx
jmp 0x41b842
cmp edx, 0xd
jne 0x41b842
lea ecx, [esi - 1]
inc esi
inc ecx
push dword [ebp - 0xd2c]
lea edx, [ebp - 0xd2d]
mov dword [ebp - 0x424], esi
push edx
push ecx
mov ecx, dword [ebp - 0xd34]
push esi
push eax
push edi
call fcn.0041aa10
mov dword [ebp - 0xd40], eax
test eax, eax
jne 0x41b9a9
mov eax, dword [ebp - 0xd58]
mov edx, esi
inc dword [eax]
cmp esi, dword [ebp - 0x420]
jl 0x41b791
mov eax, dword [ebp - 0xd38]
add eax, 0x64
mov dword [ebp - 0xd38], eax
cdq
idiv dword [ebp - 0xd48]
mov esi, eax
cmp esi, dword [ebp - 0xd4c]
je 0x41b923
mov edi, dword [sym.imp.USER32.dll_PeekMessageW]
lea eax, [ebp - 0x484]
push 1
push 0
push 0
push 0
push eax
call edi
test eax, eax
je 0x41b8ff
nop word [eax + eax]
lea eax, [ebp - 0x484]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x484]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x484]
push eax
call edi
test eax, eax
jne 0x41b8d0
mov edi, dword [ebp - 0xd34]
push esi
push 0
push 0x801c
mov eax, dword [edi + 0x3a18]
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0xd4c], esi
jmp 0x41b929
mov edi, dword [ebp - 0xd34]
mov esi, dword [ebp - 0xd3c]
lea ecx, [ebp - 0x468]
mov esi, dword [esi]
mov dword [ebp - 0xd3c], esi
mov byte [ebp - 4], 2
call fcn.0041da60
test esi, esi
jne 0x41b600
push dword [edi + 0x39f8]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov esi, dword [ebp - 0xd40]
push dword [edi + 0x39f8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [edi + 0x3a18]
push 0
push dword [eax]
call dword [sym.imp.USER32.dll_ShowWindow]
lea ecx, [ebp - 0x450]
call fcn.0041b9f0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0056060a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
lea ecx, [ebp - 0x468]
call fcn.0041da60
mov edi, dword [ebp - 0xd34]
jmp 0x41b95a