Function at 0x4efe00
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push 0x401916
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x16c
push ebx
push esi
push edi
mov dword [ebp - 0xc], esp
mov dword [ebp - 8], 0x4015d8
xor esi, esi
mov edx, 0x4db968
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x38], 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 - 0xf8], esi
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x148], esi
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov edi, dword [ebp + 0x10]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaLenBstr]
mov eax, dword [edi]
push eax
call ebx
cmp eax, 6
jle 0x4f04aa
cmp eax, 0xd
jge 0x4f04aa
lea ecx, [ebp - 0xd8]
lea edx, [ebp - 0x58]
push ecx
push edx
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xd8], 0x4008
call dword [sym.imp.MSVBVM60.DLL_rtcUpperCaseVar]
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarMove]
mov edx, eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov ecx, dword [edi]
push ecx
call ebx
mov edi, dword [sym.imp.MSVBVM60.DLL_rtcAnsiValueBstr]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrVarVal]
sub eax, 4
mov ecx, 1
jo 0x4f0531
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x18], ecx
cmp ecx, eax
jg 0x4effc2
lea eax, [ebp - 0x58]
lea edx, [ebp - 0x2c]
push eax
push ecx
mov dword [ebp - 0xd0], edx
lea ecx, [ebp - 0xd8]
lea edx, [ebp - 0x68]
push ecx
push edx
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x58], 2
mov dword [ebp - 0xd8], 0x4008
call dword [sym.imp.MSVBVM60.DLL_rtcMidCharVar]
lea eax, [ebp - 0x68]
lea ecx, [ebp - 0x44]
push eax
push ecx
call ebx
push eax
call edi
lea ecx, [ebp - 0x44]
movsx esi, ax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea edx, [ebp - 0x68]
lea eax, [ebp - 0x58]
push edx
push eax
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0xc
xor eax, eax
cmp esi, 0x5a
setg al
neg eax
xor ecx, ecx
cmp esi, 0x41
setl cl
neg ecx
or eax, ecx
test ax, ax
mov dword [ebp - 0x40], eax
jne 0x4effc0
mov ecx, dword [ebp - 0x18]
mov eax, 1
add eax, ecx
jo 0x4f0531
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x18]
xor esi, esi
jmp 0x4eff14
xor esi, esi
cmp word [ebp - 0x40], si
jne 0x4f04aa
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaLenBstr]
sub eax, 4
mov ecx, 1
jo 0x4f0531
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x18], ecx
cmp ecx, eax
jg 0x4f00af
mov edx, dword [ebp + 0x10]
lea eax, [ebp - 0x58]
push eax
push ecx
mov dword [ebp - 0xd0], edx
lea ecx, [ebp - 0xd8]
lea edx, [ebp - 0x68]
push ecx
push edx
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x58], 2
mov dword [ebp - 0xd8], 0x4008
call dword [sym.imp.MSVBVM60.DLL_rtcMidCharVar]
lea eax, [ebp - 0x68]
lea ecx, [ebp - 0x44]
push eax
push ecx
call ebx
push eax
call edi
lea ecx, [ebp - 0x44]
movsx esi, ax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea edx, [ebp - 0x68]
lea eax, [ebp - 0x58]
push edx
push eax
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0xc
cmp word [ebp - 0x30], 0
jne 0x4f0079
cmp esi, 0x61
jl 0x4f0072
cmp esi, 0x7a
jg 0x4f0072
mov dword [ebp - 0x30], 0xffffffff
cmp word [ebp - 0x30], 0
je 0x4f0083
cmp esi, 0x41
jl 0x4f0083
cmp esi, 0x5a
jle 0x4f00a6
mov ecx, dword [ebp - 0x18]
mov eax, 1
add eax, ecx
jo 0x4f0531
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x18]
xor esi, esi
jmp 0x4effef
mov dword [ebp - 0x40], 0xffffffff
xor esi, esi
cmp word [ebp - 0x40], si
jne 0x4f04aa
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x58]
mov dword [ebp - 0xd0], ecx
push edx
lea eax, [ebp - 0xd8]
push 1
lea ecx, [ebp - 0x68]
mov esi, 2
push eax
push ecx
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x58], esi
mov dword [ebp - 0xd8], 0x4008
call dword [sym.imp.MSVBVM60.DLL_rtcMidCharVar]
lea edx, [ebp - 0x68]
lea eax, [ebp - 0x44]
push edx
push eax
call ebx
push eax
call edi
mov cx, ax
sub cx, 0x41
jo 0x4f0531
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
lea ecx, [ebp - 0x44]
mov byte [ebp - 0x28], al
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0x68]
lea edx, [ebp - 0x58]
push ecx
push edx
push esi
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
mov eax, dword [ebp - 0x28]
add esp, 0xc
and eax, 0xff
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaLenBstr]
sub eax, 6
jo 0x4f0531
mov dword [ebp - 0x164], eax
cmp esi, eax
mov dword [ebp - 0x50], 1
jg 0x4f0277
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x58]
mov dword [ebp - 0xd0], ecx
push edx
lea eax, [ebp - 0xd8]
push esi
lea ecx, [ebp - 0x68]
push eax
push ecx
mov dword [ebp - 0x58], 2
mov dword [ebp - 0xd8], 0x4008
call dword [sym.imp.MSVBVM60.DLL_rtcMidCharVar]
lea edx, [ebp - 0x68]
lea eax, [ebp - 0x44]
push edx
push eax
call ebx
push eax
call edi
movzx dx, byte [ebp - 0x28]
mov cx, ax
sub cx, 0x41
jo 0x4f0531
xor ecx, edx
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
lea ecx, [ebp - 0x44]
mov byte [ebp - 0x28], al
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea eax, [ebp - 0x68]
lea ecx, [ebp - 0x58]
push eax
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0xc
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x58]
mov dword [ebp - 0xd0], edx
push eax
lea ecx, [ebp - 0xd8]
push esi
lea edx, [ebp - 0x68]
push ecx
push edx
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x58], 2
mov dword [ebp - 0xd8], 0x4008
call dword [sym.imp.MSVBVM60.DLL_rtcMidCharVar]
lea eax, [ebp - 0x68]
lea ecx, [ebp - 0x44]
push eax
push ecx
call ebx
push eax
call edi
sub ax, 0x41
lea ecx, [ebp - 0x44]
jo 0x4f0531
movsx edx, ax
mov eax, dword [ebp - 0x34]
imul eax, eax, 0x1a
jo 0x4f0531
add edx, eax
jo 0x4f0531
mov dword [ebp - 0x34], edx
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0x68]
lea edx, [ebp - 0x58]
push ecx
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
mov eax, 1
add esp, 0xc
add eax, esi
jo 0x4f0531
mov esi, eax
mov eax, dword [ebp - 0x164]
jmp 0x4f0154
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x58]
mov esi, 2
lea eax, [ebp - 0x2c]
push ecx
push edx
mov dword [ebp - 0x58], esi
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xd8], 0x4008
call dword [sym.imp.MSVBVM60.DLL___vbaLenBstr]
sub eax, 5
lea ecx, [ebp - 0x68]
jo 0x4f0531
push eax
lea eax, [ebp - 0xd8]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcMidCharVar]
lea edx, [ebp - 0x68]
lea eax, [ebp - 0x44]
push edx
push eax
call ebx
push eax
call edi
sub ax, 0x41
lea edx, [ebp - 0x88]
jo 0x4f0531
xor ecx, ecx
cmp ax, 0xc
setg cl
neg ecx
mov word [ebp - 0xf0], cx
lea eax, [ebp - 0x78]
push edx
lea ecx, [ebp - 0xf8]
push eax
lea edx, [ebp - 0x98]
push ecx
push edx
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x70], 0x1a
mov dword [ebp - 0x78], esi
mov dword [ebp - 0xf8], 0xb
call dword [sym.imp.MSVBVM60.DLL_rtcImmediateIf]
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0xa8]
lea eax, [ebp - 0x2c]
push ecx
push edx
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x128], 0x4008
call dword [sym.imp.MSVBVM60.DLL___vbaLenBstr]
sub eax, 4
lea ecx, [ebp - 0xb8]
jo 0x4f0531
push eax
lea eax, [ebp - 0x128]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcMidCharVar]
lea edx, [ebp - 0xb8]
lea eax, [ebp - 0x48]
push edx
push eax
call ebx
push eax
call edi
sub ax, 0x41
lea ecx, [ebp - 0x98]
jo 0x4f0531
mov word [ebp - 0x140], ax
lea edx, [ebp - 0x148]
push ecx
lea eax, [ebp - 0xc8]
push edx
mov dword [ebp - 0x148], esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarAdd]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaUI1Var]
lea ecx, [ebp - 0x48]
lea edx, [ebp - 0x44]
push ecx
push edx
push esi
mov bl, al
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
lea eax, [ebp - 0xc8]
lea ecx, [ebp - 0x98]
push eax
lea edx, [ebp - 0xb8]
push ecx
lea eax, [ebp - 0xa8]
push edx
lea ecx, [ebp - 0x88]
push eax
lea edx, [ebp - 0x78]
push ecx
lea eax, [ebp - 0xf8]
push edx
lea ecx, [ebp - 0x68]
push eax
lea edx, [ebp - 0x58]
push ecx
push edx
push 9
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
mov al, byte [ebp - 0x28]
add esp, 0x34
cmp al, bl
jne 0x4f04aa
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x34]
mov eax, ebx
mov edi, dword [esi]
sub eax, edi
mov edi, dword [ebp + 8]
jo 0x4f0531
mov dword [ebp - 0x170], eax
fild dword [ebp - 0x170]
fstp qword [ebp - 0x178]
fild dword [edi]
fstp qword [ebp - 0x180]
fld qword [ebp - 0x178]
cmp dword [section..data], 0
jne 0x4f0462
fdiv qword [ebp - 0x180]
jmp 0x4f0473
push dword [ebp - 0x17c]
push dword [ebp - 0x180]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fnstsw ax
test al, 0xd
jne 0x4f052c
call dword [sym.imp.MSVBVM60.DLL___vbaR8IntI4]
mov ecx, dword [edi]
mov edx, dword [esi]
imul ecx, eax
jo 0x4f0531
add ecx, edx
jo 0x4f0531
cmp ebx, ecx
jne 0x4f04aa
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
wait
push 0x4f0516
jmp 0x4f050c
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
jmp 0x40191c
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop