Function at 0x40f959
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push 0x401316
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push 0x40
pop eax
call sub.MSVBVM60.DLL___vbaChkstk
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x4012f0
push 0
push 0x46
push 1
push 0x11
push 0x4110c8
push 1
push 0x80
call sub.MSVBVM60.DLL___vbaRedim
add esp, 0x1c
mov cx, 0x50
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x68
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 1
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x61
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 2
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x72
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 3
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x6d
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 4
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x31
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 5
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x56
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 6
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4d
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 7
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4b
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 8
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4a
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 9
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x51
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0xa
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x53
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0xb
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x56
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0xc
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x44
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0xd
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x56
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0xe
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x5a
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0xf
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x43
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x10
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x41
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x11
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x50
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x12
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4c
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x13
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x47
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x14
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x44
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x15
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4c
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x16
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x58
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x17
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4d
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x18
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x45
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x19
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4b
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x1a
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x58
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x1b
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x48
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x1c
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4a
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x1d
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4a
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x1e
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4e
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x1f
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x54
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x20
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4c
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x21
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x44
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x22
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x45
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x23
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x44
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x24
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x47
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x25
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x57
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x26
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x52
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x27
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x5a
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x28
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x41
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x29
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x44
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x2a
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x46
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x2b
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x51
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x2c
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x57
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x2d
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4c
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x2e
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x41
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x2f
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4f
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x30
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x42
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x31
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4c
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x32
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x49
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x33
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x47
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x34
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x58
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x35
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x58
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x36
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x47
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x37
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4d
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x38
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x56
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x39
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x45
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x3a
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x53
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x3b
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x45
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x3c
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x55
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x3d
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x50
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x3e
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x46
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x3f
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x41
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x40
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4e
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x41
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x42
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x42
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x52
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x43
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x47
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x44
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x4e
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x45
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x52
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push 0x46
push dword [0x4110c8]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
cmp dword [0x411084], 0
jne 0x4100f9
push 0x411084
push 0x4016d4
call sub.MSVBVM60.DLL___vbaNew2
mov dword [ebp - 0x34], 0x411084
jmp 0x410100
mov dword [ebp - 0x34], 0x411084
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 0x411078
mov dword [ebp - 0x24], 0x6011
mov edx, 0x40625c
lea ecx, [ebp - 0x14]
call sub.MSVBVM60.DLL___vbaStrCopy
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
push dword [ebp - 0x28]
call dword [eax + 0x20]
fnclex
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jge 0x410158
push 0x20
push 0x402174
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call sub.MSVBVM60.DLL___vbaHresultCheckObj
mov dword [ebp - 0x38], eax
jmp 0x41015c
and dword [ebp - 0x38], 0
lea ecx, [ebp - 0x14]
call sub.MSVBVM60.DLL___vbaFreeStr
cmp dword [0x411084], 0
jne 0x410185
push 0x411084
push 0x4016d4
call sub.MSVBVM60.DLL___vbaNew2
mov dword [ebp - 0x3c], 0x411084
jmp 0x41018c
mov dword [ebp - 0x3c], 0x411084
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
push 0x4110c8
push 0x411078
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
push dword [ebp - 0x28]
call dword [eax + 0x2c]
fnclex
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jge 0x4101cb
push 0x2c
push 0x402174
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call sub.MSVBVM60.DLL___vbaHresultCheckObj
mov dword [ebp - 0x40], eax
jmp 0x4101cf
and dword [ebp - 0x40], 0
cmp dword [0x411084], 0
jne 0x4101f0
push 0x411084
push 0x4016d4
call sub.MSVBVM60.DLL___vbaNew2
mov dword [ebp - 0x44], 0x411084
jmp 0x4101f7
mov dword [ebp - 0x44], 0x411084
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 0x411104
mov dword [ebp - 0x24], 0x6011
mov edx, 0x406268
lea ecx, [ebp - 0x14]
call sub.MSVBVM60.DLL___vbaStrCopy
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
push dword [ebp - 0x28]
call dword [eax + 0x20]
fnclex
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jge 0x41024f
push 0x20
push 0x402174
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call sub.MSVBVM60.DLL___vbaHresultCheckObj
mov dword [ebp - 0x48], eax
jmp 0x410253
and dword [ebp - 0x48], 0
lea ecx, [ebp - 0x14]
call sub.MSVBVM60.DLL___vbaFreeStr
cmp dword [0x411084], 0
jne 0x41027c
push 0x411084
push 0x4016d4
call sub.MSVBVM60.DLL___vbaNew2
mov dword [ebp - 0x4c], 0x411084
jmp 0x410283
mov dword [ebp - 0x4c], 0x411084
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
push 0x4110c8
push 0x411104
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
push dword [ebp - 0x28]
call dword [eax + 0x2c]
fnclex
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jge 0x4102c2
push 0x2c
push 0x402174
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call sub.MSVBVM60.DLL___vbaHresultCheckObj
mov dword [ebp - 0x50], eax
jmp 0x4102c6
and dword [ebp - 0x50], 0
push 0x4102d7
jmp 0x4102d6
ret