Function at 0x415850
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push 0x401df6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x17c
push ebx
push esi
push edi
mov dword [ebp - 0x14], esp
mov dword [ebp - 0x10], 0x401488
xor esi, esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], 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 - 0x58], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0x100], esi
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x154], esi
mov dword [ebp - 0x164], esi
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x178], esi
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x34]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSetAddref]
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
lea ecx, [ebp - 0x128]
push ecx
push eax
call dword [edx + 0x24]
fnclex
cmp eax, esi
jge 0x415961
push 0x24
push 0x4074bc
mov edx, dword [ebp - 0x34]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x128]
call dword [sym.imp.MSVBVM60.DLL___vbaI2I4]
mov dword [ebp - 0x170], eax
mov eax, 1
mov dword [ebp - 0x20], eax
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
cmp ax, word [ebp - 0x170]
jg 0x41698d
lea eax, [ebp - 0x20]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xe0], 0x4002
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
lea edx, [ebp - 0x70]
push edx
lea edx, [ebp - 0xe0]
push edx
push eax
call dword [ecx + 0x1c]
fnclex
cmp eax, esi
jge 0x4159d3
push 0x1c
push 0x4074bc
mov ecx, dword [ebp - 0x34]
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
push 0x4075c0
lea edx, [ebp - 0x70]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaCastObjVar]
push eax
lea eax, [ebp - 0x38]
push eax
call ebx
lea ecx, [ebp - 0x70]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
lea edx, [ebp - 0x128]
push edx
push eax
call dword [ecx + 0x20]
fnclex
cmp eax, esi
jge 0x415a1a
push 0x20
push 0x4075c0
mov ecx, dword [ebp - 0x38]
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
cmp dword [ebp - 0x128], 0x10
je 0x416974
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
lea ecx, [ebp - 0x130]
push ecx
push eax
call dword [edx + 0x30]
fnclex
test eax, eax
jge 0x415a4f
push 0x30
push 0x4075c0
mov edx, dword [ebp - 0x38]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
lea edx, [ebp - 0x50]
push edx
push eax
call dword [ecx + 0x40]
fnclex
test eax, eax
jge 0x415a74
push 0x40
push 0x4075c0
mov ecx, dword [ebp - 0x38]
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x68], eax
mov esi, 8
mov dword [ebp - 0x70], esi
lea edx, [ebp - 0x70]
push edx
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcLowerCaseVar]
mov dword [ebp - 0xd8], 0x408878
mov dword [ebp - 0xe0], esi
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x94], edx
mov dword [ebp - 0xa0], 7
mov dword [ebp - 0xe8], 0x42e03c
mov dword [ebp - 0xf0], 0x4007
push 1
push 1
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0xf0]
push ecx
push 0x4080c4
lea edx, [ebp - 0xb0]
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcDateDiff]
mov dword [ebp - 0x108], 0xfffffffe
mov dword [ebp - 0x110], 0x8002
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0xe0]
push ecx
lea edx, [ebp - 0x90]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVarLikeVar]
push eax
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x110]
push ecx
lea edx, [ebp - 0xc0]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVarCmpGt]
push eax
lea eax, [ebp - 0xd0]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarAnd]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaBoolVarNull]
mov si, ax
lea ecx, [ebp - 0xb0]
push ecx
lea edx, [ebp - 0xa0]
push edx
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x70]
push ecx
push 4
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x14
test si, si
je 0x416974
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
lea ecx, [ebp - 0x50]
push ecx
push eax
call dword [edx + 0x40]
fnclex
test eax, eax
jge 0x415bb0
push 0x40
push 0x4075c0
mov edx, dword [ebp - 0x38]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x42e044]
test eax, eax
jne 0x415bc9
push 0x42e044
push 0x40316c
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov esi, dword [0x42e044]
mov eax, dword [esi]
lea ecx, [ebp - 0x128]
push ecx
lea edx, [ebp - 0x44]
push edx
mov ecx, dword [ebp - 0x50]
push ecx
mov edx, dword [0x42e054]
push edx
push esi
call dword [eax + 0x5c]
fnclex
test eax, eax
jge 0x415c00
push 0x5c
push 0x406ae8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
xor eax, eax
mov edx, dword [ebp - 0x128]
test edx, edx
setg al
neg eax
mov si, ax
lea ecx, [ebp - 0x50]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
test si, si
je 0x416974
lea ecx, [ebp - 0x44]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xe0], 0x6011
push 0
push 0x40
lea edx, [ebp - 0xe0]
push edx
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcStrConvVar2]
lea ecx, [ebp - 0x70]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarMove]
mov edx, eax
lea ecx, [ebp - 0x4c]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea ecx, [ebp - 0x70]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea edx, [ebp - 0x44]
push edx
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaErase]
lea eax, [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.00424570
mov eax, dword [0x42e010]
test eax, eax
jne 0x415ca1
push 0x42e010
push 0x4034ac
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov eax, dword [0x42e010]
mov edx, dword [eax]
push eax
call dword [edx + 0x34c]
push eax
lea eax, [ebp - 0x150]
push eax
call ebx
mov eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, 3
mov dword [ebp - 0xe0], ecx
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xd4]
mov dword [edx + 0xc], eax
push 0x11
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdSt]
mov dword [ebp - 0xd8], 0x408898
mov esi, 8
mov dword [ebp - 0xe0], esi
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
lea ecx, [ebp - 0x130]
push ecx
push eax
call dword [edx + 0x30]
fnclex
test eax, eax
jge 0x415d32
push 0x30
push 0x4075c0
mov edx, dword [ebp - 0x38]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xf0], 7
mov dword [ebp - 0xf8], 0x408154
mov dword [ebp - 0x100], esi
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
lea ecx, [ebp - 0x50]
push ecx
push eax
call dword [edx + 0x40]
fnclex
test eax, eax
jge 0x415d89
push 0x40
push 0x4075c0
mov edx, dword [ebp - 0x38]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x88], eax
mov esi, 8
mov dword [ebp - 0x90], esi
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xa0]
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcLowerCaseVar]
mov dword [ebp - 0x108], 0x408190
mov dword [ebp - 0x110], esi
lea edx, [ebp - 0xe0]
push edx
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x70]
push ecx
call edi
push eax
lea edx, [ebp - 0x100]
push edx
lea eax, [ebp - 0x80]
push eax
call edi
push eax
lea ecx, [ebp - 0xa0]
push ecx
lea edx, [ebp - 0xb0]
push edx
call edi
push eax
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0xc0]
push ecx
call edi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarMove]
mov dword [ebp - 0xc8], eax
mov ecx, esi
mov dword [ebp - 0xd0], ecx
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xc4]
mov dword [edx + 0xc], eax
push 0xe
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdSt]
lea edx, [ebp - 0xd0]
push edx
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0xb0]
push ecx
lea edx, [ebp - 0xa0]
push edx
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0x70]
push edx
push 7
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
push 0
push 0x19
mov eax, dword [ebp - 0x150]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCall]
add esp, 0x2c
push 0x408194
push 0
push 0x18
mov ecx, dword [ebp - 0x150]
push ecx
lea edx, [ebp - 0x70]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCallLd]
add esp, 0x10
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaCastObjVar]
push eax
lea eax, [ebp - 0x58]
push eax
call ebx
mov esi, eax
mov ecx, dword [esi]
lea edx, [ebp - 0x124]
push edx
push esi
call dword [ecx + 0x50]
fnclex
test eax, eax
jge 0x415ee2
push 0x50
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov si, word [ebp - 0x124]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
lea ecx, [ebp - 0x70]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
test si, si
je 0x416965
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
lea edx, [ebp - 0x50]
push edx
push eax
call dword [ecx + 0x40]
fnclex
test eax, eax
jge 0x415f29
push 0x40
push 0x4075c0
mov ecx, dword [ebp - 0x38]
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
push 0x405e48
push 0x4081b8
mov edx, dword [ebp - 0x50]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x54]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
call fcn.0040dab0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x50]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
push 0x408194
push 0
push 0x18
mov edx, dword [ebp - 0x150]
push edx
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCallLd]
add esp, 0x10
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaCastObjVar]
push eax
lea ecx, [ebp - 0x58]
push ecx
call ebx
mov esi, eax
mov eax, 0x80020004
mov dword [ebp - 0xe8], eax
mov ecx, 0xa
mov dword [ebp - 0xf0], ecx
mov edx, eax
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xe0], ecx
mov edi, dword [esi]
sub esp, 0x10
mov ebx, esp
mov dword [ebx], ecx
mov ecx, dword [ebp - 0xec]
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebx + 0xc], eax
sub esp, 0x10
mov ecx, esp
mov eax, dword [ebp - 0xe0]
mov dword [ecx], eax
mov eax, dword [ebp - 0xdc]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0xd4]
mov dword [ecx + 0xc], edx
push esi
call dword [edi + 0x78]
fnclex
test eax, eax
jge 0x41600b
push 0x78
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
lea ecx, [ebp - 0x70]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
push 0x408194
push 0
push 0x18
mov eax, dword [ebp - 0x150]
push eax
lea ecx, [ebp - 0x70]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCallLd]
add esp, 0x10
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaCastObjVar]
push eax
lea edx, [ebp - 0x58]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov esi, eax
mov eax, dword [esi]
lea ecx, [ebp - 0x5c]
push ecx
push esi
call dword [eax + 0x54]
fnclex
test eax, eax
jge 0x41606d
push 0x54
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x5c]
mov esi, eax
mov ecx, 0x408200
mov dword [ebp - 0xd8], ecx
mov edx, 8
mov dword [ebp - 0xe0], edx
mov edi, dword [eax]
lea ebx, [ebp - 0x60]
push ebx
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xdc]
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ebx + 0xc], ecx
push eax
call dword [edi + 0x28]
fnclex
test eax, eax
jge 0x4160c3
push 0x28
push 0x40821c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
lea ecx, [ebp - 0x130]
push ecx
push eax
call dword [edx + 0x30]
fnclex
test eax, eax
jge 0x4160ee
push 0x30
push 0x4075c0
mov edx, dword [ebp - 0x38]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0xe4], ecx
mov edx, 7
mov dword [ebp - 0xf0], edx
mov edi, dword [esi]
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xec]
mov dword [ebx + 4], edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
push esi
call dword [edi + 0x38]
fnclex
test eax, eax
jge 0x416142
push 0x38
push 0x40822c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x5c]
push ecx
lea edx, [ebp - 0x58]
push edx
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObjList]
add esp, 0x10
lea ecx, [ebp - 0x70]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
push 0x408194
push 0
push 0x18
mov eax, dword [ebp - 0x150]
push eax
lea ecx, [ebp - 0x70]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCallLd]
add esp, 0x10
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaCastObjVar]
push eax
lea edx, [ebp - 0x58]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov esi, eax
mov eax, dword [esi]
lea ecx, [ebp - 0x5c]
push ecx
push esi
call dword [eax + 0x54]
fnclex
test eax, eax
jge 0x4161b2
push 0x54
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x5c]
mov esi, eax
mov ecx, 0x408240
mov dword [ebp - 0xd8], ecx
mov edx, 8
mov dword [ebp - 0xe0], edx
mov edi, dword [eax]
lea ebx, [ebp - 0x60]
push ebx
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xdc]
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ebx + 0xc], ecx
push eax
call dword [edi + 0x28]
fnclex
test eax, eax
jge 0x41620c
push 0x28
push 0x40821c
push esi
push eax
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
call edi
jmp 0x416212
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
lea ecx, [ebp - 0x50]
push ecx
push eax
call dword [edx + 0x40]
fnclex
test eax, eax
jge 0x416236
push 0x40
push 0x4075c0
mov edx, dword [ebp - 0x38]
push edx
push eax
call edi
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x78], eax
mov ecx, 8
mov dword [ebp - 0x80], ecx
mov edx, dword [esi]
sub esp, 0x10
mov ebx, esp
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x7c]
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x74]
mov dword [ebx + 0xc], eax
push esi
call dword [edx + 0x38]
fnclex
test eax, eax
jge 0x416278
push 0x38
push 0x40822c
push esi
push eax
call edi
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x5c]
push edx
lea eax, [ebp - 0x58]
push eax
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObjList]
lea ecx, [ebp - 0x80]
push ecx
lea edx, [ebp - 0x70]
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x1c
push 0x408194
push 0
push 0x18
mov eax, dword [ebp - 0x150]
push eax
lea ecx, [ebp - 0x70]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCallLd]
add esp, 0x10
push eax
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaCastObjVar]
call ebx
push eax
lea edx, [ebp - 0x58]
push edx
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
call edi
mov esi, eax
mov eax, dword [esi]
push 3
push esi
call dword [eax + 0xe4]
fnclex
test eax, eax
jge 0x4162f7
push 0xe4
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
lea ecx, [ebp - 0x70]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
push 0x408194
push 0
push 0x18
mov ecx, dword [ebp - 0x150]
push ecx
lea edx, [ebp - 0x70]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCallLd]
add esp, 0x10
push eax
call ebx
push eax
lea eax, [ebp - 0x58]
push eax
call edi
mov esi, eax
mov ecx, dword [esi]
lea edx, [ebp - 0x5c]
push edx
push esi
call dword [ecx + 0x54]
fnclex
test eax, eax
jge 0x416351
push 0x54
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x5c]
mov esi, eax
mov ecx, 0x4084ac
mov dword [ebp - 0xd8], ecx
mov edx, 8
mov dword [ebp - 0xe0], edx
mov edi, dword [eax]
lea ebx, [ebp - 0x60]
push ebx
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xdc]
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ebx + 0xc], ecx
push eax
call dword [edi + 0x28]
fnclex
test eax, eax
jge 0x4163ab
push 0x28
push 0x40821c
push esi
push eax
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
call edi
jmp 0x4163b1
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x60]
mov esi, eax
mov edx, dword [eax]
lea ecx, [ebp - 0x80]
push ecx
push eax
call dword [edx + 0x34]
fnclex
test eax, eax
jge 0x4163d1
push 0x34
push 0x40822c
push esi
push eax
call edi
lea edx, [ebp - 0x80]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaI4Var]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x5c]
push ecx
lea edx, [ebp - 0x58]
push edx
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObjList]
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x70]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
mov eax, 0x408960
mov dword [ebp - 0xd8], eax
mov ecx, 8
mov dword [ebp - 0xe0], ecx
add esp, 0xc
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xd4]
mov dword [edx + 0xc], eax
push 0xe
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdSt]
push 0
push 0x19
mov edx, dword [ebp - 0x150]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCall]
add esp, 0xc
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
lea edx, [ebp - 0x70]
push edx
push eax
call dword [ecx + 0x3c]
fnclex
test eax, eax
jge 0x416478
push 0x3c
push 0x408508
mov ecx, dword [ebp - 0x48]
push ecx
push eax
call edi
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x164]
call dword [sym.imp.MSVBVM60.DLL___vbaVarZero]
lea edx, [ebp - 0x164]
push edx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x154]
push ecx
lea edx, [ebp - 0x174]
push edx
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x168]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaForEachVar]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
test eax, eax
je 0x416965
push 0x408194
push 0
push 0x18
mov edx, dword [ebp - 0x150]
push edx
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCallLd]
add esp, 0x10
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaCastObjVar]
push eax
lea ecx, [ebp - 0x58]
push ecx
call ebx
mov esi, eax
mov eax, 0x80020004
mov dword [ebp - 0xe8], eax
mov ecx, 0xa
mov dword [ebp - 0xf0], ecx
mov edx, eax
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xe0], ecx
mov edi, dword [esi]
sub esp, 0x10
mov ebx, esp
mov dword [ebx], ecx
mov ecx, dword [ebp - 0xec]
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebx + 0xc], eax
sub esp, 0x10
mov ecx, esp
mov eax, dword [ebp - 0xe0]
mov dword [ecx], eax
mov eax, dword [ebp - 0xdc]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0xd4]
mov dword [ecx + 0xc], edx
push esi
call dword [edi + 0x78]
fnclex
test eax, eax
jge 0x416572
push 0x78
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
lea ecx, [ebp - 0x70]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
push 0x408194
push 0
push 0x18
mov eax, dword [ebp - 0x150]
push eax
lea ecx, [ebp - 0x70]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCallLd]
add esp, 0x10
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaCastObjVar]
push eax
lea edx, [ebp - 0x58]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov esi, eax
mov eax, dword [esi]
lea ecx, [ebp - 0x5c]
push ecx
push esi
call dword [eax + 0x54]
fnclex
test eax, eax
jge 0x4165d4
push 0x54
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x5c]
mov esi, eax
mov ecx, 0x40851c
mov dword [ebp - 0xd8], ecx
mov edx, 8
mov dword [ebp - 0xe0], edx
mov edi, dword [eax]
lea ebx, [ebp - 0x60]
push ebx
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xdc]
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ebx + 0xc], ecx
push eax
call dword [edi + 0x28]
fnclex
test eax, eax
jge 0x41662a
push 0x28
push 0x40821c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x60]
mov esi, eax
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xe8], ecx
mov edx, 3
mov dword [ebp - 0xf0], edx
mov edi, dword [eax]
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xec]
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [ebx + 0xc], ecx
push eax
call dword [edi + 0x38]
fnclex
test eax, eax
jge 0x41667a
push 0x38
push 0x40822c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x58]
push ecx
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObjList]
add esp, 0x10
lea ecx, [ebp - 0x70]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
push 0x408194
push 0
push 0x18
mov edx, dword [ebp - 0x150]
push edx
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCallLd]
add esp, 0x10
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaCastObjVar]
push eax
lea ecx, [ebp - 0x58]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov esi, eax
mov edx, dword [esi]
lea eax, [ebp - 0x5c]
push eax
push esi
call dword [edx + 0x54]
fnclex
test eax, eax
jge 0x4166ea
push 0x54
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x5c]
mov esi, eax
mov ecx, 0x408528
mov dword [ebp - 0xd8], ecx
mov edx, 8
mov dword [ebp - 0xe0], edx
mov edi, dword [eax]
lea ebx, [ebp - 0x60]
push ebx
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xdc]
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ebx + 0xc], ecx
push eax
call dword [edi + 0x28]
fnclex
test eax, eax
jge 0x416744
push 0x28
push 0x40821c
push esi
push eax
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
call edi
jmp 0x41674a
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x60]
mov esi, eax
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov ebx, dword [ebp - 0x30]
mov dword [ecx], ebx
mov ebx, dword [ebp - 0x2c]
mov dword [ecx + 4], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ecx + 8], ebx
mov ebx, dword [ebp - 0x24]
mov dword [ecx + 0xc], ebx
push eax
call dword [edx + 0x38]
fnclex
test eax, eax
jge 0x416782
push 0x38
push 0x40822c
push esi
push eax
call edi
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x58]
push ecx
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObjList]
add esp, 0x10
lea ecx, [ebp - 0x70]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
push 0x408194
push 0
push 0x18
mov edx, dword [ebp - 0x150]
push edx
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCallLd]
add esp, 0x10
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaCastObjVar]
push eax
lea ecx, [ebp - 0x58]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov esi, eax
mov edx, dword [esi]
lea eax, [ebp - 0x5c]
push eax
push esi
call dword [edx + 0x54]
fnclex
test eax, eax
jge 0x4167ee
push 0x54
push 0x4081a4
push esi
push eax
call edi
mov eax, dword [ebp - 0x5c]
mov esi, eax
mov ecx, 0x4089b0
mov dword [ebp - 0xd8], ecx
mov edx, 8
mov dword [ebp - 0xe0], edx
mov edi, dword [eax]
lea ebx, [ebp - 0x60]
push ebx
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xdc]
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ebx + 0xc], ecx
push eax
call dword [edi + 0x28]
fnclex
test eax, eax
jge 0x416848
push 0x28
push 0x40821c
push esi
push eax
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
call edi
jmp 0x41684e
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x30]
push ecx
push eax
call dword [edx + 0x24]
fnclex
test eax, eax
jge 0x416876
push 0x24
push 0x408508
mov edx, dword [ebp - 0x48]
push edx
push eax
call edi
mov eax, dword [esi]
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x70]
mov dword [ecx], edx
mov edx, dword [ebp - 0x6c]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x68]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x64]
mov dword [ecx + 0xc], edx
push esi
call dword [eax + 0x38]
fnclex
test eax, eax
jge 0x4168a9
push 0x38
push 0x40822c
push esi
push eax
call edi
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x5c]
push ecx
lea edx, [ebp - 0x58]
push edx
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObjList]
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x80]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x1c
push 0x408194
push 0
push 0x18
mov edx, dword [ebp - 0x150]
push edx
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCallLd]
add esp, 0x10
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaCastObjVar]
push eax
lea ecx, [ebp - 0x58]
push ecx
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
call ebx
mov esi, eax
mov edx, dword [esi]
push 3
push esi
call dword [edx + 0xe4]
fnclex
test eax, eax
jge 0x416922
push 0xe4
push 0x4081a4
push esi
push eax
call edi
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
lea ecx, [ebp - 0x70]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x154]
push ecx
lea edx, [ebp - 0x174]
push edx
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x168]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaNextEachVar]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
jmp 0x4164c0
push 0
lea edx, [ebp - 0x150]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSetAddref]
mov eax, 1
add ax, word [ebp - 0x20]
jo 0x416adb
mov dword [ebp - 0x20], eax
xor esi, esi
jmp 0x415987
mov dword [ebp - 0x40], 0xffffffff
call dword [sym.imp.MSVBVM60.DLL___vbaExitProc]
wait
push 0x416ac4
jmp 0x416a60
lea ecx, [ebp - 0x168]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea edx, [ebp - 0x154]
push edx
lea eax, [ebp - 0x150]
push eax
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObjList]
add esp, 0xc
lea ecx, [ebp - 0x164]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
call esi
lea ecx, [ebp - 0x30]
call esi
lea ecx, [ebp - 0x34]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
call esi
lea ecx, [ebp - 0x38]
call esi
lea ecx, [ebp - 0x44]
push ecx
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaAryDestruct]
lea ecx, [ebp - 0x48]
call esi
lea ecx, [ebp - 0x4c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop