Function at 0x4c1348
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov ebx, dword [0x4d426c]
xor eax, eax
push ebp
push 0x4c1673
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx]
cmp byte [eax + 0x39be], 0
je 0x4c165d
mov eax, dword [ebx]
cmp byte [eax + 0x39bf], 0
je 0x4c165d
mov eax, dword [ebx]
cmp byte [eax + 0x39c1], 0
jne 0x4c165d
mov eax, dword [0x4d5da8]
mov eax, dword [eax + 0x314]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4c13b8
mov esi, 1
jmp 0x4c13ba
xor esi, esi
mov eax, dword [0x4d5da8]
call fcn.004c091c
mov edi, eax
mov eax, dword [ebx]
cmp dword [eax + 0x39ac], 0
jne 0x4c13df
mov eax, dword [ebx]
cmp byte [eax + 0x39db], 0
je 0x4c13df
add esi, 2
mov eax, dword [0x4d5da8]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4c13f9
add esi, 4
mov eax, dword [0x4d5da8]
mov eax, dword [eax + 0x320]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4c1413
add esi, 0x10
mov eax, dword [0x4d5da8]
mov eax, dword [eax + 0x338]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4c142f
add esi, 0x28
jmp 0x4c1489
mov eax, dword [0x4d5da8]
mov eax, dword [eax + 0x334]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4c144b
add esi, 0x20
jmp 0x4c1489
mov eax, dword [0x4d5da8]
mov eax, dword [eax + 0x330]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4c1467
add esi, 8
jmp 0x4c1489
mov eax, dword [0x4d5da8]
mov eax, dword [eax + 0x32c]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4c1483
add esi, 0
jmp 0x4c1489
add esi, 0
add edi, 0x10
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34c]
call fcn.00462330
mov eax, dword [ebp - 8]
mov edx, 0x4c168c
call fcn.00404fa4
jne 0x4c14ac
add edi, 0x20
mov eax, dword [ebx]
cmp byte [eax + 0x39eb], 0
jne 0x4c14cb
mov eax, dword [ebx]
mov eax, dword [eax + 0x31c]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4c14ce
add edi, 0x40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x318]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4c14e9
add edi, 0x80
mov eax, dword [0x4d5da8]
mov eax, dword [eax + 0x33c]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4c1506
add esi, 0x80
mov eax, dword [ebx]
cmp byte [eax + 0x39db], 0
jne 0x4c1525
mov eax, dword [ebx]
mov eax, dword [eax + 0x354]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4c1528
add esi, 0x40
push 5
call sub.kernel32.dll_Sleep_1
mov eax, edi
mov edx, dword [ebx]
mov byte [edx + 0x5c4], al
push 0
mov eax, dword [ebx]
add eax, 0x3974
push eax
push 1
mov eax, dword [ebx]
add eax, 0x5c4
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x3e0]
push eax
call sub.kernel32.dll_WriteFile_1
push 5
call sub.kernel32.dll_Sleep_1
mov eax, dword [ebx]
mov byte [eax + 0x5c4], 0x60
push 0
mov eax, dword [ebx]
add eax, 0x3974
push eax
push 4
mov eax, dword [ebx]
add eax, 0x5c4
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x3e0]
push eax
call sub.kernel32.dll_WriteFile_1
push 5
call sub.kernel32.dll_Sleep_1
mov eax, dword [ebx]
mov byte [eax + 0x5c4], 0
push 0
mov eax, dword [ebx]
add eax, 0x3974
push eax
push 4
mov eax, dword [ebx]
add eax, 0x5c4
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x3e0]
push eax
call sub.kernel32.dll_WriteFile_1
push 5
call sub.kernel32.dll_Sleep_1
mov eax, esi
mov edx, dword [ebx]
mov byte [edx + 0x5c4], al
push 0
mov eax, dword [ebx]
add eax, 0x3974
push eax
push 1
mov eax, dword [ebx]
add eax, 0x5c4
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x3e0]
push eax
call sub.kernel32.dll_WriteFile_1
push 5
call sub.kernel32.dll_Sleep_1
mov eax, dword [ebx]
mov byte [eax + 0x5c4], 0x20
push 0
mov eax, dword [ebx]
add eax, 0x3974
push eax
push 4
mov eax, dword [ebx]
add eax, 0x5c4
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x3e0]
push eax
call sub.kernel32.dll_WriteFile_1
push 5
call sub.kernel32.dll_Sleep_1
mov eax, dword [ebx]
mov byte [eax + 0x5c4], 0
push 0
mov eax, dword [ebx]
add eax, 0x3974
push eax
push 4
mov eax, dword [ebx]
add eax, 0x5c4
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x3e0]
push eax
call sub.kernel32.dll_WriteFile_1
push 5
call sub.kernel32.dll_Sleep_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c167a
lea eax, [ebp - 8]
call fcn.00404b98
ret