Function at 0x4bba5c
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov ebx, eax
mov edi, 0x4d5d70
xor eax, eax
push ebp
push 0x4bbd5d
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebx + 0x39c1], 0
jne 0x4bbd42
mov eax, dword [edi]
mov eax, dword [eax + 0x304]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4bbaa7
mov byte [ebx + 0x39ec], 1
jmp 0x4bbaae
mov byte [ebx + 0x39ec], 0
mov eax, dword [ebx + 0x39ac]
cmp eax, 0xf
je 0x4bbad2
cmp eax, 0x10
je 0x4bbad2
cmp eax, 0x11
je 0x4bbad2
cmp eax, 0x19
je 0x4bbad2
cmp eax, 0x1a
je 0x4bbad2
cmp eax, 0x1b
jne 0x4bbb14
lea edx, [ebp - 8]
mov eax, dword [edi]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x20c]
call fcn.00409200
mov ecx, dword [ebp - 8]
lea eax, [ebp - 4]
mov edx, 0x4bbd74
call fcn.00404ea4
mov edx, dword [ebp - 4]
mov eax, dword [edi]
mov eax, dword [eax + 0x308]
call fcn.00462360
mov eax, dword [edi]
call fcn.004b5460
jmp 0x4bbd42
cmp byte [ebx + 0x39be], 0
je 0x4bbd42
cmp byte [ebx + 0x39bf], 0
je 0x4bbd42
lea edx, [ebp - 0x10]
mov eax, dword [edi]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x20c]
call fcn.00409200
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xc]
mov edx, 0x4bbd74
call fcn.00404ea4
mov edx, dword [ebp - 0xc]
mov eax, dword [edi]
mov eax, dword [eax + 0x308]
call fcn.00462360
mov eax, dword [edi]
mov eax, dword [eax + 0x304]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4bbb86
mov edx, 0x10
mov byte [ebx + 0x39ec], 1
jmp 0x4bbb8f
xor edx, edx
mov byte [ebx + 0x39ec], 0
mov eax, dword [edi]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x20c]
cmp eax, 0x10
ja case.0x4bbba6.0
jmp dword [eax*4 + 0x4bbbad]
mov esi, 1
jmp case.0x4bbba6.0
mov esi, 2
jmp case.0x4bbba6.0
mov esi, 3
jmp case.0x4bbba6.0
mov esi, 4
jmp case.0x4bbba6.0
mov esi, 5
jmp case.0x4bbba6.0
mov esi, 6
jmp case.0x4bbba6.0
mov esi, 7
jmp case.0x4bbba6.0
mov esi, 8
jmp case.0x4bbba6.0
mov esi, 9
jmp case.0x4bbba6.0
mov esi, 0xa
jmp case.0x4bbba6.0
mov esi, 0xb
jmp case.0x4bbba6.0
mov esi, 0xc
jmp case.0x4bbba6.0
mov esi, 0xd
jmp case.0x4bbba6.0
mov esi, 0xe
jmp case.0x4bbba6.0
mov esi, 0xf
jmp case.0x4bbba6.0
mov esi, 0x10
mov eax, 0x10
sub eax, esi
add edx, eax
cmp byte [ebx + 0x39e6], 0
je 0x4bbc75
xor eax, eax
jmp 0x4bbcaa
cmp byte [ebx + 0x39e7], 0
je 0x4bbc85
mov eax, 1
jmp 0x4bbcaa
cmp byte [ebx + 0x39e8], 0
je 0x4bbc95
mov eax, 2
jmp 0x4bbcaa
cmp byte [ebx + 0x39e9], 0
je 0x4bbca5
mov eax, 3
jmp 0x4bbcaa
mov eax, 4
shl eax, 5
add edx, eax
mov byte [ebx + 0x5c4], dl
push 0
lea eax, [ebx + 0x3974]
push eax
push 1
lea eax, [ebx + 0x5c4]
push eax
mov eax, dword [ebx + 0x3e0]
push eax
call sub.kernel32.dll_WriteFile_1
push 5
call sub.kernel32.dll_Sleep_1
mov byte [ebx + 0x5c4], 0x40
push 0
lea eax, [ebx + 0x3974]
push eax
push 4
lea eax, [ebx + 0x5c4]
push eax
mov eax, dword [ebx + 0x3e0]
push eax
call sub.kernel32.dll_WriteFile_1
push 5
call sub.kernel32.dll_Sleep_1
mov byte [ebx + 0x5c4], 0
push 0
lea eax, [ebx + 0x3974]
push eax
push 4
lea eax, [ebx + 0x5c4]
push eax
mov eax, dword [ebx + 0x3e0]
push eax
call sub.kernel32.dll_WriteFile_1
push 5
call sub.kernel32.dll_Sleep_1
cmp byte [ebx + 0x50d], 0
je 0x4bbd42
mov byte [ebx + 0x39bc], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bbd64
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00404bbc
ret