Function at 0x43d790
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push 0x403ab6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfc
push ebx
push esi
push edi
mov dword [ebp - 0x14], esp
mov dword [ebp - 0x10], 0x402e78
xor esi, esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xd0], esi
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaStrCopy
mov edx, dword [ebp + 0xc]
lea ecx, [ebp - 0x28]
call sub.MSVBVM60.DLL___vbaStrCopy
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x2c]
call sub.MSVBVM60.DLL___vbaStrCopy
push dword [ebp - 0x24]
call fcn.00422d74
test ax, ax
jne 0x43cfa1
call sub.MSVBVM60.DLL_rtcErrObj
push eax
lea eax, [ebp - 0x40]
push eax
call sub.MSVBVM60.DLL___vbaObjSet
mov ebx, eax
mov edi, 0x80020004
mov dword [ebp - 0x8c], edi
push 0xa
pop esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x84], esi
push 0x40eac8
push dword [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaStrCat
mov edx, eax
lea ecx, [ebp - 0x38]
call sub.MSVBVM60.DLL___vbaStrMove
push eax
push 0x40eb0c
call sub.MSVBVM60.DLL___vbaStrCat
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x74], 8
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x64], esi
mov eax, dword [ebx]
lea ecx, [ebp - 0x94]
push ecx
lea ecx, [ebp - 0x84]
push ecx
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x64]
push ecx
push 0x80040003
push ebx
call dword [eax + 0x44]
fnclex
test eax, eax
jge 0x43cf6c
push 0x44
push 0x40a720
push ebx
push eax
call sub.MSVBVM60.DLL___vbaHresultCheckObj
lea ecx, [ebp - 0x38]
call sub.MSVBVM60.DLL___vbaFreeStr
lea ecx, [ebp - 0x40]
call sub.MSVBVM60.DLL___vbaFreeObj
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x64]
push eax
push 4
call sub.MSVBVM60.DLL___vbaFreeVarList
add esp, 0x14
jmp 0x43d585
push 1
call sub.MSVBVM60.DLL___vbaOnError
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], 0x4008
push 1
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x64]
push eax
call sub.MSVBVM60.DLL_rtcRightCharVar
mov dword [ebp - 0xac], 0x40a460
mov dword [ebp - 0xb4], 0x8008
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0xb4]
push eax
call sub.MSVBVM60.DLL___vbaVarTstEq
mov di, ax
lea ecx, [ebp - 0x64]
call sub.MSVBVM60.DLL___vbaFreeVar
cmp di, si
je 0x43d016
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.0041fe41
mov edx, eax
lea ecx, [ebp - 0x2c]
call sub.MSVBVM60.DLL___vbaStrMove
mov edi, 0x80020004
mov dword [ebp - 0x5c], edi
push 0xa
pop esi
mov dword [ebp - 0x64], esi
lea eax, [ebp - 0x64]
push eax
call sub.MSVBVM60.DLL_rtcFreeFile
movsx ebx, ax
mov dword [ebp - 0x20], ebx
lea ecx, [ebp - 0x64]
call sub.MSVBVM60.DLL___vbaFreeVar
push dword [ebp - 0x24]
mov ecx, ebx
call sub.MSVBVM60.DLL___vbaI2I4
push eax
push 0xffffffffffffffff
push 0x2120
call sub.MSVBVM60.DLL___vbaFileOpen
push ebx
call 0x43d790
test ax, ax
jne 0x43d11e
call sub.MSVBVM60.DLL_rtcErrObj
push eax
lea eax, [ebp - 0x40]
push eax
call sub.MSVBVM60.DLL___vbaObjSet
mov ebx, eax
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x84], esi
push 0x40eb14
push dword [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaStrCat
mov edx, eax
lea ecx, [ebp - 0x38]
call sub.MSVBVM60.DLL___vbaStrMove
push eax
push 0x40eb0c
call sub.MSVBVM60.DLL___vbaStrCat
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x74], 8
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x64], esi
mov eax, dword [ebx]
lea ecx, [ebp - 0x94]
push ecx
lea ecx, [ebp - 0x84]
push ecx
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x64]
push ecx
push 0x80040001
push ebx
call dword [eax + 0x44]
fnclex
test eax, eax
jge 0x43d0ee
push 0x44
push 0x40a720
push ebx
push eax
call sub.MSVBVM60.DLL___vbaHresultCheckObj
lea ecx, [ebp - 0x38]
call sub.MSVBVM60.DLL___vbaFreeStr
lea ecx, [ebp - 0x40]
call sub.MSVBVM60.DLL___vbaFreeObj
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x64]
push eax
push 4
call sub.MSVBVM60.DLL___vbaFreeVarList
add esp, 0x14
mov ecx, dword [ebp - 0x20]
call sub.MSVBVM60.DLL___vbaI2I4
push eax
call sub.MSVBVM60.DLL_rtcFileLength
mov ebx, eax
mov ecx, dword [ebp - 0x20]
call sub.MSVBVM60.DLL___vbaI2I4
push eax
call sub.MSVBVM60.DLL_rtcFileSeek
cmp eax, ebx
jge 0x43d2f8
mov ecx, dword [ebp - 0x20]
call sub.MSVBVM60.DLL___vbaI2I4
push eax
lea eax, [ebp - 0x30]
push eax
push 4
call sub.MSVBVM60.DLL___vbaGet3
push 0
mov eax, dword [ebp - 0x30]
sub eax, 1
jo 0x43d615
push eax
push 1
push 0x11
lea eax, [ebp - 0x34]
push eax
push 1
push 0x80
call sub.MSVBVM60.DLL___vbaRedim
add esp, 0x1c
mov ecx, dword [ebp - 0x20]
call sub.MSVBVM60.DLL___vbaI2I4
push eax
lea eax, [ebp - 0x34]
push eax
mov ebx, 0x40c468
push ebx
call sub.MSVBVM60.DLL___vbaGetOwner3
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], 0x2011
lea eax, [ebp - 0xa4]
push eax
call sub.MSVBVM60.DLL___vbaStrVarCopy
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x64], 8
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x74]
push eax
call sub.MSVBVM60.DLL_rtcUpperCaseVar
lea eax, [ebp - 0x28]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xb4], 0x4008
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x84]
push eax
call sub.MSVBVM60.DLL_rtcUpperCaseVar
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x84]
push eax
call sub.MSVBVM60.DLL___vbaVarTstEq
mov word [ebp - 0xd4], ax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x64]
push eax
push 3
call sub.MSVBVM60.DLL___vbaFreeVarList
add esp, 0x10
cmp word [ebp - 0xd4], 0
mov ecx, dword [ebp - 0x20]
jne 0x43d26b
call sub.MSVBVM60.DLL___vbaI2I4
push eax
lea eax, [ebp - 0x30]
push eax
push 4
call sub.MSVBVM60.DLL___vbaGet3
mov ecx, dword [ebp - 0x20]
call sub.MSVBVM60.DLL___vbaI2I4
push eax
mov ecx, dword [ebp - 0x20]
call sub.MSVBVM60.DLL___vbaI2I4
push eax
call sub.MSVBVM60.DLL_rtcFileSeek
add eax, dword [ebp - 0x30]
jo 0x43d615
push eax
call sub.MSVBVM60.DLL___vbaFileSeek
jmp 0x43d11e
call sub.MSVBVM60.DLL___vbaI2I4
push eax
lea eax, [ebp - 0x30]
push eax
push 4
call sub.MSVBVM60.DLL___vbaGet3
mov eax, dword [ebp - 0x30]
xor esi, esi
cmp eax, esi
jle 0x43d2bc
push esi
sub eax, 1
jo 0x43d615
push eax
push 1
push 0x11
lea eax, [ebp - 0x34]
push eax
push 1
push 0x80
call sub.MSVBVM60.DLL___vbaRedim
add esp, 0x1c
mov ecx, dword [ebp - 0x20]
call sub.MSVBVM60.DLL___vbaI2I4
push eax
lea eax, [ebp - 0x34]
push eax
push ebx
call sub.MSVBVM60.DLL___vbaGetOwner3
jmp 0x43d2c6
lea eax, [ebp - 0x34]
push eax
push esi
call sub.MSVBVM60.DLL___vbaErase
push esi
push dword [ebp - 0x2c]
call fcn.00421336
mov edx, eax
lea ecx, [ebp - 0x38]
call sub.MSVBVM60.DLL___vbaStrMove
push eax
call fcn.0044cc7b
lea ecx, [ebp - 0x38]
call sub.MSVBVM60.DLL___vbaFreeStr
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x2c]
call fcn.00427c88
jmp 0x43d3b5
call sub.MSVBVM60.DLL_rtcErrObj
push eax
lea eax, [ebp - 0x40]
push eax
call sub.MSVBVM60.DLL___vbaObjSet
mov ebx, eax
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x84], esi
push 0x40ebe0
push dword [ebp - 0x28]
call sub.MSVBVM60.DLL___vbaStrCat
mov edx, eax
lea ecx, [ebp - 0x38]
call sub.MSVBVM60.DLL___vbaStrMove
push eax
push 0x40eb0c
call sub.MSVBVM60.DLL___vbaStrCat
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x74], 8
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x64], esi
mov eax, dword [ebx]
lea ecx, [ebp - 0x94]
push ecx
lea ecx, [ebp - 0x84]
push ecx
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x64]
push ecx
push 0x80040002
push ebx
call dword [eax + 0x44]
fnclex
test eax, eax
jge 0x43d385
push 0x44
push 0x40a720
push ebx
push eax
call sub.MSVBVM60.DLL___vbaHresultCheckObj
lea ecx, [ebp - 0x38]
call sub.MSVBVM60.DLL___vbaFreeStr
lea ecx, [ebp - 0x40]
call sub.MSVBVM60.DLL___vbaFreeObj
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x64]
push eax
push 4
call sub.MSVBVM60.DLL___vbaFreeVarList
add esp, 0x14
mov ecx, dword [ebp - 0x20]
call sub.MSVBVM60.DLL___vbaI2I4
push eax
call sub.MSVBVM60.DLL___vbaFileClose
jmp 0x43d585
call sub.MSVBVM60.DLL___vbaExitProc
push 0x43d604
jmp 0x43d5e0
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaFreeStr
lea ecx, [ebp - 0x28]
call sub.MSVBVM60.DLL___vbaFreeStr
lea ecx, [ebp - 0x2c]
call sub.MSVBVM60.DLL___vbaFreeStr
lea eax, [ebp - 0x34]
push eax
push 0
call sub.MSVBVM60.DLL___vbaAryDestruct
ret
call sub.MSVBVM60.DLL___vbaErrorOverflow
push ebp
mov ebp, esp
push ecx
push ecx
push 0x403ab6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x402ea0
xor eax, eax
push 0x11
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], eax
push 0x40ec38
lea eax, [ebp - 0x34]
push eax
call sub.MSVBVM60.DLL___vbaAryConstruct2
mov edi, dword [ebp + 8]
mov esi, 0x409cd8
mov ecx, edi
call sub.MSVBVM60.DLL___vbaI2I4
push eax
call sub.MSVBVM60.DLL_rtcFileLength
mov ecx, edi
mov ebx, eax
call sub.MSVBVM60.DLL___vbaI2I4
push eax
call sub.MSVBVM60.DLL_rtcFileSeek
cmp eax, ebx
jge 0x43d749
mov ecx, edi
call sub.MSVBVM60.DLL___vbaI2I4
push eax
call sub.MSVBVM60.DLL_rtcFileSeek
mov ecx, edi
mov dword [ebp - 0x1c], eax
call sub.MSVBVM60.DLL___vbaI2I4
push eax
lea eax, [ebp - 0x34]
push eax
push 0x40ec1c
call sub.MSVBVM60.DLL___vbaGetOwner3
lea eax, [ebp - 0x34]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5c]
xor ebx, ebx
push ebx
mov dword [ebp - 0x50], eax
push 0x40
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 0x58], 0x6011
call sub.MSVBVM60.DLL_rtcStrConvVar2
lea eax, [ebp - 0x48]
push eax
call sub.MSVBVM60.DLL___vbaStrVarMove
mov edx, eax
lea ecx, [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaStrMove
lea ecx, [ebp - 0x48]
call sub.MSVBVM60.DLL___vbaFreeVar
push 1
push dword [ebp - 0x18]
push esi
push ebx
call sub.MSVBVM60.DLL___vbaInStr
test eax, eax
jne 0x43d72e
mov ecx, edi
call sub.MSVBVM60.DLL___vbaI2I4
mov ecx, edi
push eax
call sub.MSVBVM60.DLL___vbaI2I4
push eax
call sub.MSVBVM60.DLL_rtcFileSeek
push esi
mov ebx, eax
call sub.MSVBVM60.DLL___vbaLenBstr
sub ebx, eax
jo 0x43d78b
push ebx
call sub.MSVBVM60.DLL___vbaFileSeek
jmp 0x43d668
push 1
push dword [ebp - 0x18]
push esi
push ebx
call sub.MSVBVM60.DLL___vbaInStr
add eax, dword [ebp - 0x1c]
jo 0x43d78b
sub eax, 1
jo 0x43d78b
mov dword [ebp - 0x14], eax
jmp 0x43d74d
and dword [ebp - 0x14], 0
push 0x43d777
jmp 0x43d75d
lea ecx, [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaFreeStr
lea eax, [ebp - 0x34]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5c]
push eax
push 0
call sub.MSVBVM60.DLL___vbaAryDestruct
ret
call sub.MSVBVM60.DLL___vbaErrorOverflow
push edi
push dword [esp + 8]
call 0x43d61a
mov edi, eax
test edi, edi
je 0x43d7c5
push esi
push 0x409cd8
call sub.MSVBVM60.DLL___vbaLenBstr
mov ecx, dword [esp + 0xc]
mov esi, eax
add esi, edi
jo 0x43d7c9
call sub.MSVBVM60.DLL___vbaI2I4
push eax
push esi
call sub.MSVBVM60.DLL___vbaFileSeek
or eax, 0xffffffff
pop esi
pop edi
ret 4
call sub.MSVBVM60.DLL___vbaErrorOverflow