Function at 0x40f4ae
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 0x402766
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0xa4
call sub.MSVBVM60.DLL___vbaChkstk
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x14], 0x4014e0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 1
push 3
push 0x406890
lea eax, [ebp - 0x50]
push eax
call sub.MSVBVM60.DLL___vbaAryConstruct2
mov dword [ebp - 4], 2
push 0xffffffffffffffff
call sub.MSVBVM60.DLL___vbaOnError
mov dword [ebp - 4], 3
push dword [ebp + 0xc]
call fcn.00412cd8
add eax, 1
jo 0x40f9e7
mov dword [ebp - 0x58], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x28], 0xff
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], 1
and dword [ebp - 0x30], 0
jmp 0x40f563
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x6c]
jo 0x40f9e7
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x70]
jg 0x40f72f
mov dword [ebp - 4], 6
cmp dword [ebp - 0x24], 0
jne 0x40f5df
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x100
jae 0x40f59b
and dword [ebp - 0x90], 0
jmp 0x40f5a6
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x30]
mov dword [ecx + eax*4], edx
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x28]
jne 0x40f5da
mov dword [ebp - 4], 9
or dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x24], 1
jmp 0x40f723
jmp 0x40f620
mov dword [ebp - 4], 0x10
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x100
jae 0x40f600
and dword [ebp - 0x94], 0
jmp 0x40f60b
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx + eax*4]
call sub.MSVBVM60.DLL___vbaUI1I4
mov byte [ebp - 0x2c], al
jmp 0x40f68d
jmp 0x40f5e1
mov dword [ebp - 4], 0x16
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x100
jae 0x40f63f
and dword [ebp - 0x98], 0
jmp 0x40f64a
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x38]
add esi, dword [ecx + eax*4]
jo 0x40f9e7
mov eax, dword [ebp - 0x30]
cdq
idiv dword [ebp - 0x58]
push edx
mov eax, dword [ebp + 0xc]
push dword [eax]
call sub.MSVBVM60.DLL___vbaDerefAry1
movzx eax, byte [eax]
add esi, eax
jo 0x40f9e7
mov eax, esi
cdq
idiv dword [ebp - 0x28]
add edx, 1
jo 0x40f9e7
mov dword [ebp - 0x38], edx
jmp 0x40f61e
mov dword [ebp - 4], 0x1c
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x100
jae 0x40f6ac
and dword [ebp - 0x9c], 0
jmp 0x40f6b7
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x100
jae 0x40f6cf
and dword [ebp - 0xa0], 0
jmp 0x40f6da
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x44]
mov edx, dword [esi + edx*4]
mov dword [ecx + eax*4], edx
mov dword [ebp - 4], 0x22
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x100
jae 0x40f70b
and dword [ebp - 0xa4], 0
jmp 0x40f716
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0xa4], eax
movzx eax, byte [ebp - 0x2c]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x44]
mov dword [edx + ecx*4], eax
mov dword [ebp - 4], 0x26
jmp 0x40f554
mov dword [ebp - 4], 0x2a
mov eax, dword [ebp - 0x28]
add eax, 1
jo 0x40f9e7
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], 0x30
and dword [ebp - 0x24], 0
mov dword [ebp - 4], 0x36
and dword [ebp - 0x28], 0
mov dword [ebp - 4], 0x39
push dword [ebp + 8]
call fcn.00412cd8
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], 1
and dword [ebp - 0x34], 0
jmp 0x40f789
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x74]
jo 0x40f9e7
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x78]
jg 0x40f9bf
jmp 0x40f900
mov dword [ebp - 4], 0x3d
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x100
jae 0x40f7b9
and dword [ebp - 0xa8], 0
jmp 0x40f7c4
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x100
jae 0x40f7dc
and dword [ebp - 0xac], 0
jmp 0x40f7e7
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x44]
mov eax, dword [ecx + eax*4]
add eax, dword [esi + edx*4]
jo 0x40f9e7
cdq
idiv dword [ebp - 0x30]
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x68], 0x100
jae 0x40f818
and dword [ebp - 0xb0], 0
jmp 0x40f823
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0xb0], eax
push dword [ebp - 0x34]
mov eax, dword [ebp + 8]
push dword [eax]
call sub.MSVBVM60.DLL___vbaDerefAry1
movzx ecx, byte [eax]
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x44]
xor ecx, dword [edx + eax*4]
call sub.MSVBVM60.DLL___vbaUI1I4
mov bl, al
push dword [ebp - 0x34]
mov eax, dword [ebp + 8]
push dword [eax]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
jmp 0x40f9b3
jmp 0x40f924
mov dword [ebp - 4], 0x43
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x100
jae 0x40f87b
and dword [ebp - 0xb4], 0
jmp 0x40f886
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0xb4], eax
movzx eax, byte [ebp - 0x2c]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x44]
mov dword [edx + ecx*4], eax
jmp 0x40f96e
jmp 0x40f973
mov dword [ebp - 4], 0x49
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x100
jae 0x40f8bc
and dword [ebp - 0xb8], 0
jmp 0x40f8c7
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x100
jae 0x40f8df
and dword [ebp - 0xbc], 0
jmp 0x40f8ea
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x44]
mov edx, dword [esi + edx*4]
mov dword [ecx + eax*4], edx
jmp 0x40f91f
jmp 0x40f89d
mov dword [ebp - 4], 0x4f
mov eax, dword [ebp - 0x24]
add eax, 1
jo 0x40f9e7
cdq
idiv dword [ebp - 0x30]
mov dword [ebp - 0x24], edx
jmp 0x40f857
jmp 0x40f85c
mov dword [ebp - 4], 0x55
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x100
jae 0x40f943
and dword [ebp - 0xc0], 0
jmp 0x40f94e
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x28]
add edx, dword [ecx + eax*4]
jo 0x40f9e7
mov eax, edx
cdq
idiv dword [ebp - 0x30]
mov dword [ebp - 0x28], edx
jmp 0x40f898
jmp 0x40f79a
mov dword [ebp - 4], 0x5b
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x100
jae 0x40f992
and dword [ebp - 0xc4], 0
jmp 0x40f99d
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx + eax*4]
call sub.MSVBVM60.DLL___vbaUI1I4
mov byte [ebp - 0x2c], al
jmp 0x40f8fe
mov dword [ebp - 4], 0x5e
jmp 0x40f77a
push 0x40f9d6
lea eax, [ebp - 0x50]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5c]
push eax
push 0
call sub.MSVBVM60.DLL___vbaAryDestruct
ret
call sub.MSVBVM60.DLL___vbaErrorOverflow