Function at 0x458c50
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x402216
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa4
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x4011f0
xor esi, esi
lea eax, [ebp - 0x28]
push esi
push 6
push 1
push esi
push eax
push 0x10
push 0x880
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xac], esi
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
mov edx, dword [ebp + 8]
add esp, 0x1c
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaVarVargNofree]
lea ecx, [ebp - 0x24]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarVal]
push eax
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
mov ebx, 3
lea edx, [ebp - 0x48]
mov dword [ebp - 0x48], ebx
mov ecx, dword [eax + 0x14]
shl ecx, 4
mov edi, ecx
mov ecx, dword [eax + 0xc]
sub ecx, edi
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
call edi
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x50], 0xc0000000
mov dword [ebp - 0x58], ebx
lea edx, [ebp - 0x58]
mov ecx, dword [eax + 0x14]
shl ecx, 4
mov dword [ebp - 0xb4], ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xb4]
sub ecx, eax
add ecx, 0x10
call edi
mov eax, dword [ebp - 0x28]
mov ecx, 2
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x68], ebx
sub ecx, dword [eax + 0x14]
lea edx, [ebp - 0x68]
shl ecx, 4
add ecx, dword [eax + 0xc]
call edi
push esi
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x28]
mov ecx, ebx
mov dword [ebp - 0x78], ebx
sub ecx, dword [eax + 0x14]
lea edx, [ebp - 0x78]
shl ecx, 4
add ecx, dword [eax + 0xc]
call edi
mov eax, dword [ebp - 0x28]
mov ecx, 4
mov dword [ebp - 0x80], 2
mov dword [ebp - 0x88], ebx
sub ecx, dword [eax + 0x14]
lea edx, [ebp - 0x88]
shl ecx, 4
add ecx, dword [eax + 0xc]
call edi
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x90], pe_nt_image_headers32
mov dword [ebp - 0x98], ebx
mov ecx, 5
mov ebx, dword [eax + 0x14]
lea edx, [ebp - 0x98]
sub ecx, ebx
mov ebx, dword [eax + 0xc]
shl ecx, 4
add ecx, ebx
call edi
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xa8], 2
mov ecx, 6
mov ebx, dword [eax + 0x14]
lea edx, [ebp - 0xa8]
sub ecx, ebx
mov ebx, dword [eax + 0xc]
shl ecx, 4
add ecx, ebx
call edi
mov eax, dword [0x45f1f8]
lea ecx, [ebp - 0x28]
push ecx
mov edx, 0xa
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ecx
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00401ec5
lea edx, [ebp - 0x28]
mov dword [ebp - 0xac], eax
push edx
push esi
call dword [sym.imp.MSVBVM60.DLL___vbaErase]
mov edi, dword [ebp - 0xac]
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp edi, 0xffffffff
je 0x458e95
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax]
push ebx
call fcn.0040218a
cmp eax, esi
mov dword [ebp - 0x14], eax
jle 0x458e87
lea ecx, [ebp - 0x20]
push ebx
push ecx
mov dword [ebp - 0xac], esi
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0xac]
push esi
push edx
push eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0xc]
mov esi, dword [eax + 0x14]
sub ecx, esi
push ecx
push edi
call dword [sym.imp.KERNEL32.DLL_WriteFile]
lea edx, [ebp - 0x20]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [ebp - 0x1c], 0xffffffff
push 0x458ebd
jmp 0x458ebc
ret