Function at 0x411c80
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x34]
push 2
push edi
call fcn.00419eb0
add esp, 8
test eax, eax
je 0x411ca4
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x20
ret
xor ebp, ebp
push ebp
push edi
call fcn.00419a1e
mov esi, eax
add esp, 8
cmp esi, 0xffffffff
jne 0x411cc1
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x20
ret
push esi
call fcn.00419426
push esi
mov ebx, eax
call fcn.0040f2d2
add esp, 8
cmp ebx, ebp
jne 0x411ce0
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x20
ret
push 0x422094
push edi
call fcn.004124f0
mov esi, eax
add esp, 8
cmp esi, ebp
mov dword [esp + 0x14], esi
jne 0x411d02
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x20
ret
mov dword [esp + 0x34], ebp
mov al, byte [esp + 0x34]
push 0x10
mov byte [esp + 0x28], al
call fcn.00408354
mov dword [eax], eax
mov dword [eax + 4], eax
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebp
jmp 0x411d2b
mov esi, dword [esp + 0x14]
push ebx
call fcn.00408354
mov edi, eax
push ebx
push edi
push esi
call fcn.00412aa0
mov esi, eax
add esp, 0x10
test esi, esi
jle 0x411d68
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x38]
push eax
push edx
lea ecx, [esp + 0x30]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
call fcn.00412280
add ebp, esi
jmp 0x411d71
push edi
call fcn.00407114
add esp, 4
test esi, esi
jg 0x411d27
cmp esi, 0xffffffff
mov dword [esp + 0x34], ebp
jne 0x411de2
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x411db5
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push edx
call fcn.00407114
mov eax, dword [esp + 0x2c]
add esp, 4
lea ecx, [esp + 0x34]
mov eax, dword [eax]
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.004122e0
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x411d86
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x34]
push eax
mov ecx, dword [eax]
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.00412320
mov eax, dword [esp + 0x28]
push eax
call fcn.00407114
add esp, 4
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push ebp
call fcn.00408354
mov edi, eax
mov eax, dword [esp + 0x30]
add esp, 4
xor ebx, ebx
test eax, eax
mov dword [esp + 0x10], edi
je 0x411e51
jmp 0x411e01
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
add edi, ebx
mov eax, dword [ecx]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, eax
mov esi, edx
mov ebp, ecx
push edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
add ebx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00407114
mov edx, dword [esp + 0x2c]
add esp, 4
lea ecx, [esp + 0x24]
mov eax, dword [edx]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004122e0
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x411dfd
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00413220
add esp, 4
test eax, eax
je 0x411eb7
push edi
call fcn.00407114
mov esi, dword [esp + 0x2c]
add esp, 4
mov eax, dword [esi]
cmp eax, esi
mov dword [esp + 0x34], eax
je 0x411ea0
lea edx, [esp + 0x38]
push 0
push edx
lea ecx, [esp + 0x3c]
call fcn.00412370
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.004122e0
cmp dword [esp + 0x34], esi
jne 0x411e79
mov edx, dword [esp + 0x28]
push edx
call fcn.00407114
add esp, 4
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, dword [esp + 0x38]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
jne 0x411f2f
push edi
call fcn.00407114
mov esi, dword [esp + 0x2c]
add esp, 4
mov eax, dword [esi]
cmp eax, esi
mov dword [esp + 0x34], eax
je 0x411f18
lea ecx, [esp + 0x38]
push 0
push ecx
lea ecx, [esp + 0x3c]
call fcn.00412370
mov edx, dword [eax]
lea eax, [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x2c]
call fcn.004122e0
cmp dword [esp + 0x34], esi
jne 0x411ef1
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00407114
add esp, 4
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
lea edx, [esp + 0x18]
push 0
push edx
push ebp
push edi
push esi
mov dword [esp + 0x2c], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call fcn.00407114
mov eax, dword [esp + 0x2c]
add esp, 4
lea ecx, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.00412270
mov ecx, dword [eax]
lea edx, [esp + 0x3c]
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.00412320
mov eax, dword [esp + 0x28]
push eax
call fcn.00407114
add esp, 4
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret