Function at 0x4089d0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push 0x401ac6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x90
push ebx
push esi
push edi
mov dword [ebp - 0xc], esp
mov dword [ebp - 8], 0x401328
xor eax, eax
mov edx, 0x402ff0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x94], eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaLenBstr]
mov eax, dword [edi]
push eax
call esi
test eax, eax
jle 0x408c8b
mov ecx, dword [edi]
push ecx
call esi
mov ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaI2I4]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaVarTstEq]
mov dword [ebp - 0x9c], eax
mov eax, 1
mov ebx, 0x8008
mov dword [ebp - 0x18], eax
cmp ax, word [ebp - 0x9c]
jg 0x408c8b
mov dword [ebp - 0x5c], edi
lea edx, [ebp - 0x34]
movsx edi, ax
push edx
lea eax, [ebp - 0x64]
push edi
lea ecx, [ebp - 0x44]
push eax
push ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x34], 2
mov dword [ebp - 0x64], 0x4008
call dword [sym.imp.MSVBVM60.DLL_rtcMidCharVar]
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x94]
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea edx, [ebp - 0x94]
lea eax, [ebp - 0x64]
push edx
push eax
mov dword [ebp - 0x5c], 0x4031c4
mov dword [ebp - 0x64], ebx
call esi
test ax, ax
jne 0x408bf1
lea ecx, [ebp - 0x94]
lea edx, [ebp - 0x64]
push ecx
push edx
mov dword [ebp - 0x5c], 0x4031cc
mov dword [ebp - 0x64], ebx
call esi
test ax, ax
jne 0x408bf1
lea eax, [ebp - 0x94]
lea ecx, [ebp - 0x64]
push eax
push ecx
mov dword [ebp - 0x5c], 0x4031d4
mov dword [ebp - 0x64], ebx
call esi
test ax, ax
jne 0x408bf1
lea edx, [ebp - 0x94]
lea eax, [ebp - 0x64]
push edx
push eax
mov dword [ebp - 0x5c], 0x4031dc
mov dword [ebp - 0x64], ebx
call esi
test ax, ax
jne 0x408bf1
lea ecx, [ebp - 0x94]
lea edx, [ebp - 0x64]
push ecx
push edx
mov dword [ebp - 0x5c], 0x4031e4
mov dword [ebp - 0x64], ebx
call esi
test ax, ax
jne 0x408bf1
lea eax, [ebp - 0x94]
lea ecx, [ebp - 0x64]
push eax
push ecx
mov dword [ebp - 0x5c], 0x4031ec
mov dword [ebp - 0x64], ebx
call esi
test ax, ax
jne 0x408bf1
lea edx, [ebp - 0x94]
lea eax, [ebp - 0x64]
push edx
push eax
mov dword [ebp - 0x5c], 0x4031f4
mov dword [ebp - 0x64], ebx
call esi
test ax, ax
jne 0x408bf1
lea ecx, [ebp - 0x94]
lea edx, [ebp - 0x64]
push ecx
push edx
mov dword [ebp - 0x5c], 0x4031fc
mov dword [ebp - 0x64], ebx
call esi
test ax, ax
jne 0x408bf1
lea eax, [ebp - 0x94]
lea ecx, [ebp - 0x64]
push eax
push ecx
mov dword [ebp - 0x5c], 0x403204
mov dword [ebp - 0x64], ebx
call esi
test ax, ax
jne 0x408bf1
lea edx, [ebp - 0x94]
lea eax, [ebp - 0x64]
push edx
push eax
mov dword [ebp - 0x5c], 0x4031a0
mov dword [ebp - 0x64], ebx
call esi
test ax, ax
mov eax, 1
je 0x408bf4
mov eax, dword [ebp - 0x1c]
test ax, ax
jne 0x408c75
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x34]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x5c], edx
push eax
lea ecx, [ebp - 0x64]
push edi
lea edx, [ebp - 0x44]
push ecx
push edx
mov dword [ebp - 0x84], 8
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x34], 2
mov dword [ebp - 0x64], 0x4008
call dword [sym.imp.MSVBVM60.DLL_rtcMidCharVar]
lea eax, [ebp - 0x84]
lea ecx, [ebp - 0x44]
push eax
lea edx, [ebp - 0x54]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVarAdd]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarMove]
mov edx, eax
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea eax, [ebp - 0x54]
lea ecx, [ebp - 0x44]
push eax
lea edx, [ebp - 0x34]
push ecx
push edx
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x10
mov edi, dword [ebp + 8]
mov eax, 1
add ax, word [ebp - 0x18]
jo 0x408cf1
mov dword [ebp - 0x18], eax
jmp 0x408a66
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0x408cdb
jmp 0x408cc5
lea ecx, [ebp - 0x94]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop