Function at 0x408030
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 0x401996
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0xfc
call sub.MSVBVM60.DLL___vbaChkstk
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x14], 0x401768
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 1
mov dword [ebp - 4], 2
push 0xffffffffffffffff
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
mov dword [ebp - 4], 3
cmp dword [0x40d6d8], 0
jne 0x4080b0
push 0x40d6d8
push 0x404174
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov dword [ebp - 0xe4], 0x40d6d8
jmp 0x4080ba
mov dword [ebp - 0xe4], 0x40d6d8
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax]
mov dword [ebp - 0xac], ecx
lea edx, [ebp - 0x50]
push edx
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xac]
push edx
call dword [ecx + 0x14]
fnclex
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jge 0x408112
push 0x14
push 0x404338
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0xe8], eax
jmp 0x40811c
mov dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xb4], edx
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xb4]
push eax
call dword [edx + 0x50]
fnclex
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jge 0x40816f
push 0x50
push 0x4040e4
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0xec], eax
jmp 0x408179
mov dword [ebp - 0xec], 0
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x40], 0
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x64], 8
push 1
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcRightCharVar]
mov dword [ebp - 0x8c], 0x4040f8
mov dword [ebp - 0x94], 0x8008
lea ecx, [ebp - 0x74]
push ecx
lea edx, [ebp - 0x94]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVarTstNe]
mov word [ebp - 0xbc], ax
lea ecx, [ebp - 0x50]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x64]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0xc
movsx edx, word [ebp - 0xbc]
test edx, edx
je 0x40845d
mov dword [ebp - 4], 4
cmp dword [0x40d6d8], 0
jne 0x40822c
push 0x40d6d8
push 0x404174
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov dword [ebp - 0xf0], 0x40d6d8
jmp 0x408236
mov dword [ebp - 0xf0], 0x40d6d8
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax]
mov dword [ebp - 0xac], ecx
lea edx, [ebp - 0x50]
push edx
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xac]
push edx
call dword [ecx + 0x14]
fnclex
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jge 0x40828e
push 0x14
push 0x404338
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0xf4], eax
jmp 0x408298
mov dword [ebp - 0xf4], 0
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xb4], edx
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xb4]
push eax
call dword [edx + 0x50]
fnclex
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jge 0x4082eb
push 0x50
push 0x4040e4
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0xf8], eax
jmp 0x4082f5
mov dword [ebp - 0xf8], 0
cmp dword [0x40d6d8], 0
jne 0x40831a
push 0x40d6d8
push 0x404174
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov dword [ebp - 0xfc], 0x40d6d8
jmp 0x408324
mov dword [ebp - 0xfc], 0x40d6d8
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax]
mov dword [ebp - 0xbc], ecx
lea edx, [ebp - 0x54]
push edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xbc]
push edx
call dword [ecx + 0x14]
fnclex
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jge 0x40837c
push 0x14
push 0x404338
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0x100], eax
jmp 0x408386
mov dword [ebp - 0x100], 0
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xc4], edx
lea eax, [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xc4]
push eax
call dword [edx + 0x58]
fnclex
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jge 0x4083d9
push 0x58
push 0x4040e4
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0x104], eax
jmp 0x4083e3
mov dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x40]
push eax
push 0x4040f8
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x4c]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
push 0x403fd8
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x40]
push edx
push 4
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0x14
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x50]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObjList]
add esp, 0xc
jmp 0x40869a
mov dword [ebp - 4], 6
cmp dword [0x40d6d8], 0
jne 0x408489
push 0x40d6d8
push 0x404174
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov dword [ebp - 0x108], 0x40d6d8
jmp 0x408493
mov dword [ebp - 0x108], 0x40d6d8
mov edx, dword [ebp - 0x108]
mov eax, dword [edx]
mov dword [ebp - 0xac], eax
lea ecx, [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0xac]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xac]
push ecx
call dword [eax + 0x14]
fnclex
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jge 0x4084eb
push 0x14
push 0x404338
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0x10c], eax
jmp 0x4084f5
mov dword [ebp - 0x10c], 0
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0xb4], ecx
lea edx, [ebp - 0x40]
push edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xb4]
push edx
call dword [ecx + 0x50]
fnclex
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jge 0x408548
push 0x50
push 0x4040e4
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0x110], eax
jmp 0x408552
mov dword [ebp - 0x110], 0
cmp dword [0x40d6d8], 0
jne 0x408577
push 0x40d6d8
push 0x404174
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov dword [ebp - 0x114], 0x40d6d8
jmp 0x408581
mov dword [ebp - 0x114], 0x40d6d8
mov edx, dword [ebp - 0x114]
mov eax, dword [edx]
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xbc]
push ecx
call dword [eax + 0x14]
fnclex
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jge 0x4085d9
push 0x14
push 0x404338
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0x118], eax
jmp 0x4085e3
mov dword [ebp - 0x118], 0
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0xc4], ecx
lea edx, [ebp - 0x44]
push edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xc4]
push edx
call dword [ecx + 0x58]
fnclex
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jge 0x408636
push 0x58
push 0x4040e4
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0x11c], eax
jmp 0x408640
mov dword [ebp - 0x11c], 0
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
push 0x403fd8
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x44]
push edx
lea eax, [ebp - 0x40]
push eax
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0x10
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0x50]
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObjList]
add esp, 0xc
mov dword [ebp - 4], 8
lea eax, [ebp - 0x24]
push eax
push 0x4037a0
lea ecx, [ebp - 0x40]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
push 0x80000002
call fcn.0040419c
mov dword [ebp - 0xa8], eax