Function at 0x412250
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, 0x140
push ebx
push esi
push edi
mov dword [ebp - 0x14], esp
mov dword [ebp - 0x10], 0x4013e8
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 - 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 - 0xb8], esi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xf8], esi
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x138], esi
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x28]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSetAddref]
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
lea ecx, [ebp - 0x110]
push ecx
push eax
call dword [edx + 0x24]
fnclex
cmp eax, esi
jge 0x41233a
push 0x24
push 0x4074bc
mov edx, dword [ebp - 0x28]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x110]
call dword [sym.imp.MSVBVM60.DLL___vbaI2I4]
mov dword [ebp - 0x140], 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 - 0x140]
jg 0x412df1
lea eax, [ebp - 0x20]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xc8], 0x4002
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
lea edx, [ebp - 0x58]
push edx
lea edx, [ebp - 0xc8]
push edx
push eax
call dword [ecx + 0x1c]
fnclex
cmp eax, esi
jge 0x4123ac
push 0x1c
push 0x4074bc
mov ecx, dword [ebp - 0x28]
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
push 0x4075c0
lea edx, [ebp - 0x58]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaCastObjVar]
push eax
lea eax, [ebp - 0x2c]
push eax
call ebx
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
lea edx, [ebp - 0x110]
push edx
push eax
call dword [ecx + 0x20]
fnclex
cmp eax, esi
jge 0x4123f3
push 0x20
push 0x4075c0
mov ecx, dword [ebp - 0x2c]
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
cmp dword [ebp - 0x110], 0x10
je 0x412dda
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
lea ecx, [ebp - 0x118]
push ecx
push eax
call dword [edx + 0x30]
fnclex
cmp eax, esi
jge 0x412428
push 0x30
push 0x4075c0
mov edx, dword [ebp - 0x2c]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
push eax
call dword [ecx + 0x40]
fnclex
cmp eax, esi
jge 0x41244d
push 0x40
push 0x4075c0
mov ecx, dword [ebp - 0x2c]
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x50], eax
mov esi, 8
mov dword [ebp - 0x58], esi
lea edx, [ebp - 0x58]
push edx
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcLowerCaseVar]
mov dword [ebp - 0xc0], 0x40859c
mov dword [ebp - 0xc8], esi
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x88], 7
mov dword [ebp - 0xd0], 0x42e03c
mov dword [ebp - 0xd8], 0x4007
push 1
push 1
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0xd8]
push ecx
push 0x4080c4
lea edx, [ebp - 0x98]
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcDateDiff]
mov dword [ebp - 0xf0], 0xfffffffe
mov dword [ebp - 0xf8], 0x8002
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0xc8]
push ecx
lea edx, [ebp - 0x78]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVarLikeVar]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xf8]
push ecx
lea edx, [ebp - 0xa8]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVarCmpGt]
push eax
lea eax, [ebp - 0xb8]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarAnd]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaBoolVarNull]
mov si, ax
lea ecx, [ebp - 0x98]
push ecx
lea edx, [ebp - 0x88]
push edx
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x58]
push ecx
push 4
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x14
test si, si
je 0x412dd8
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
lea ecx, [ebp - 0x38]
push ecx
push eax
call dword [edx + 0x40]
fnclex
test eax, eax
jge 0x41257c
push 0x40
push 0x4075c0
mov edx, dword [ebp - 0x2c]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x42e044]
test eax, eax
jne 0x412595
push 0x42e044
push 0x40316c
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov esi, dword [0x42e044]
mov eax, dword [esi]
lea ecx, [ebp - 0x110]
push ecx
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [0x42e054]
push edx
push esi
call dword [eax + 0x5c]
fnclex
test eax, eax
jge 0x4125cc
push 0x5c
push 0x406ae8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
xor eax, eax
mov edx, dword [ebp - 0x110]
test edx, edx
setg al
neg eax
mov si, ax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
test si, si
je 0x41263e
lea ecx, [ebp - 0x30]
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xc8], 0x6011
push 0
push 0x40
lea edx, [ebp - 0xc8]
push edx
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcStrConvVar2]
lea ecx, [ebp - 0x58]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarMove]
mov edx, eax
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea edx, [ebp - 0x30]
push edx
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaErase]
mov eax, dword [0x42e010]
test eax, eax
jne 0x41265c
push 0x42e010
push 0x4034ac
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov eax, dword [0x42e010]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34c]
push eax
lea edx, [ebp - 0x138]
push edx
call ebx
mov eax, 1
mov dword [ebp - 0xc0], eax
mov ecx, 3
mov dword [ebp - 0xc8], ecx
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [ebp - 0xc4]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xbc]
mov dword [edx + 0xc], eax
push 0x11
mov ecx, dword [ebp - 0x138]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdSt]
mov dword [ebp - 0xc0], 0x4083cc
mov esi, 8
mov dword [ebp - 0xc8], esi
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
lea ecx, [ebp - 0x118]
push ecx
push eax
call dword [edx + 0x30]
fnclex
test eax, eax
jge 0x4126ed
push 0x30
push 0x4075c0
mov edx, dword [ebp - 0x2c]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd8], 7
mov dword [ebp - 0xe0], 0x408310
mov dword [ebp - 0xe8], esi
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
lea ecx, [ebp - 0x38]
push ecx
push eax
call dword [edx + 0x40]
fnclex
test eax, eax
jge 0x412744
push 0x40
push 0x4075c0
mov edx, dword [ebp - 0x2c]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x78], esi
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x88]
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcLowerCaseVar]
mov dword [ebp - 0xf0], 0x408190
mov dword [ebp - 0xf8], esi
lea edx, [ebp - 0xc8]
push edx
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x58]
push ecx
call edi
push eax
lea edx, [ebp - 0xe8]
push edx
lea eax, [ebp - 0x68]
push eax
call edi
push eax
lea ecx, [ebp - 0x88]
push ecx
lea edx, [ebp - 0x98]
push edx
call edi
push eax
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0xa8]
push ecx
call edi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarMove]
mov dword [ebp - 0xb0], eax
mov ecx, esi
mov dword [ebp - 0xb8], ecx
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [ebp - 0xb4]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xac]
mov dword [edx + 0xc], eax
push 0xe
mov ecx, dword [ebp - 0x138]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdSt]
lea edx, [ebp - 0xb8]
push edx
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x98]
push ecx
lea edx, [ebp - 0x88]
push edx
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x78]
push ecx
lea edx, [ebp - 0x58]
push edx
push 7
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
push 0
push 0x19
mov eax, dword [ebp - 0x138]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaLateIdCall]
add esp, 0x2c
push 0x408194
push 0
push 0x18
mov ecx, dword [ebp - 0x138]
push ecx
lea edx, [ebp - 0x58]
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 - 0x40]
push eax
call ebx
mov esi, eax
mov ecx, dword [esi]
lea edx, [ebp - 0x10c]
push edx
push esi
call dword [ecx + 0x50]
fnclex
test eax, eax
jge 0x41288c
push 0x50
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov si, word [ebp - 0x10c]
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
test si, si
je 0x412dc9
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
push eax
call dword [ecx + 0x40]
fnclex
test eax, eax
jge 0x4128d3
push 0x40
push 0x4075c0
mov ecx, dword [ebp - 0x2c]
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
push 0x405e48
push 0x4081b8
mov edx, dword [ebp - 0x38]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
call fcn.0040dab0
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x38]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
push 0x408194
push 0
push 0x18
mov edx, dword [ebp - 0x138]
push edx
lea eax, [ebp - 0x58]
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 - 0x40]
push ecx
call ebx
mov esi, eax
mov eax, 0x80020004
mov dword [ebp - 0xd0], eax
mov ecx, 0xa
mov dword [ebp - 0xd8], ecx
mov edx, eax
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xc8], ecx
mov edi, dword [esi]
sub esp, 0x10
mov ebx, esp
mov dword [ebx], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebx + 0xc], eax
sub esp, 0x10
mov ecx, esp
mov eax, dword [ebp - 0xc8]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0xbc]
mov dword [ecx + 0xc], edx
push esi
call dword [edi + 0x78]
fnclex
test eax, eax
jge 0x4129b5
push 0x78
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
push 0x408194
push 0
push 0x18
mov eax, dword [ebp - 0x138]
push eax
lea ecx, [ebp - 0x58]
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 - 0x40]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov esi, eax
mov eax, dword [esi]
lea ecx, [ebp - 0x44]
push ecx
push esi
call dword [eax + 0x54]
fnclex
test eax, eax
jge 0x412a17
push 0x54
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x44]
mov esi, eax
mov ecx, 0x408200
mov dword [ebp - 0xc0], ecx
mov edx, 8
mov dword [ebp - 0xc8], edx
mov edi, dword [eax]
lea ebx, [ebp - 0x48]
push ebx
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xc4]
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [ebx + 0xc], ecx
push eax
call dword [edi + 0x28]
fnclex
test eax, eax
jge 0x412a6d
push 0x28
push 0x40821c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
lea ecx, [ebp - 0x118]
push ecx
push eax
call dword [edx + 0x30]
fnclex
test eax, eax
jge 0x412a98
push 0x30
push 0x4075c0
mov edx, dword [ebp - 0x2c]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0xcc], ecx
mov edx, 7
mov dword [ebp - 0xd8], edx
mov edi, dword [esi]
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xd4]
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 0x412aec
push 0x38
push 0x40822c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x44]
push ecx
lea edx, [ebp - 0x40]
push edx
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObjList]
add esp, 0x10
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
push 0x408194
push 0
push 0x18
mov eax, dword [ebp - 0x138]
push eax
lea ecx, [ebp - 0x58]
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 - 0x40]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov esi, eax
mov eax, dword [esi]
lea ecx, [ebp - 0x44]
push ecx
push esi
call dword [eax + 0x54]
fnclex
test eax, eax
jge 0x412b5c
push 0x54
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x44]
mov esi, eax
mov ecx, 0x407eb0
mov dword [ebp - 0xc0], ecx
mov edx, 8
mov dword [ebp - 0xc8], edx
mov edi, dword [eax]
lea ebx, [ebp - 0x48]
push ebx
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xc4]
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [ebx + 0xc], ecx
push eax
call dword [edi + 0x28]
fnclex
test eax, eax
jge 0x412bb2
push 0x28
push 0x40821c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x48]
mov esi, eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xd0], ecx
mov edx, 8
mov dword [ebp - 0xd8], edx
mov edi, dword [eax]
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xd4]
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [ebx + 0xc], ecx
push eax
call dword [edi + 0x38]
fnclex
test eax, eax
jge 0x412c02
push 0x38
push 0x40822c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea edx, [ebp - 0x48]
push edx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x40]
push ecx
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObjList]
add esp, 0x10
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
push 0x408194
push 0
push 0x18
mov edx, dword [ebp - 0x138]
push edx
lea eax, [ebp - 0x58]
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 - 0x40]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov esi, eax
mov edx, dword [esi]
lea eax, [ebp - 0x44]
push eax
push esi
call dword [edx + 0x54]
fnclex
test eax, eax
jge 0x412c72
push 0x54
push 0x4081a4
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x44]
mov esi, eax
mov ecx, 0x408240
mov dword [ebp - 0xc0], ecx
mov edx, 8
mov dword [ebp - 0xc8], edx
mov edi, dword [eax]
lea ebx, [ebp - 0x48]
push ebx
sub esp, 0x10
mov ebx, esp
mov dword [ebx], edx
mov edx, dword [ebp - 0xc4]
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [ebx + 0xc], ecx
push eax
call dword [edi + 0x28]
fnclex
test eax, eax
jge 0x412ccc
push 0x28
push 0x40821c
push esi
push eax
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
call edi
jmp 0x412cd2
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
lea ecx, [ebp - 0x38]
push ecx
push eax
call dword [edx + 0x40]
fnclex
test eax, eax
jge 0x412cf6
push 0x40
push 0x4075c0
mov edx, dword [ebp - 0x2c]
push edx
push eax
call edi
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x60], eax
mov ecx, 8
mov dword [ebp - 0x68], ecx
mov edx, dword [esi]
sub esp, 0x10
mov ebx, esp
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x64]
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0xc], eax
push esi
call dword [edx + 0x38]
fnclex
test eax, eax
jge 0x412d38
push 0x38
push 0x40822c
push esi
push eax
call edi
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___vbaFreeObjList]
lea ecx, [ebp - 0x68]
push ecx
lea edx, [ebp - 0x58]
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x1c
push 0x408194
push 0
push 0x18
mov eax, dword [ebp - 0x138]
push eax
lea ecx, [ebp - 0x58]
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 - 0x40]
push edx
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
call ebx
mov esi, eax
mov eax, dword [esi]
push 3
push esi
call dword [eax + 0xe4]
fnclex
test eax, eax
jge 0x412db1
push 0xe4
push 0x4081a4
push esi
push eax
call edi
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push 0
lea ecx, [ebp - 0x138]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSetAddref]
xor esi, esi
mov eax, 1
add ax, word [ebp - 0x20]
jo 0x412f06
mov dword [ebp - 0x20], eax
jmp 0x412360
mov dword [ebp - 0x24], 0xffffffff
call dword [sym.imp.MSVBVM60.DLL___vbaExitProc]
wait
push 0x412eef
jmp 0x412ec1
lea ecx, [ebp - 0x138]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
call esi
lea ecx, [ebp - 0x28]
call esi
lea ecx, [ebp - 0x2c]
call esi
lea eax, [ebp - 0x30]
push eax
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaAryDestruct]
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop