Function at 0x464340
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
call fcn.00464c40
cmp eax, 0xff
jne 0x464401
call fcn.00464c40
mov ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I4]
mov cl, 0xd7
cmp cl, al
sbb edx, edx
neg edx
cmp al, 0xd0
sbb eax, eax
neg eax
or edx, eax
jne 0x4643ea
movsx ecx, word [0x4781a2]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fstp qword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
push 0x40000000
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaPowerR8]
fsub qword [0x4016d0]
fnstsw ax
test al, 0xd
jne 0x464652
call dword [sym.imp.MSVBVM60.DLL___vbaFpUI1]
mov ecx, dword [0x47815c]
sub ecx, 2
jo 0x464657
cmp word [0x4781a0], 0
mov dword [0x47815c], ecx
je 0x464414
mov word [0x4781a6], 1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret 8
mov edx, dword [0x47815c]
sub edx, 2
jo 0x464657
mov dword [0x47815c], edx
jmp 0x464414
mov eax, dword [0x47815c]
sub eax, 1
jo 0x464657
mov dword [0x47815c], eax
mov esi, dword [esp + 0x20]
xor edi, edi
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x10], 1
jmp 0x464430
mov edi, dword [esp + 0x20]
call fcn.00465800
imul edi, edi, 2
movsx ecx, ax
jo 0x464657
add ecx, edi
jo 0x464657
cmp word [0x4781a6], 0
mov dword [esp + 0x20], ecx
jne 0x4643de
xor ebp, ebp
mov eax, dword [esi]
test eax, eax
je 0x4644aa
cmp word [eax], 2
jne 0x4644aa
mov edx, dword [esp + 0x24]
movsx ebx, word [edx]
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
sub ebx, edx
cmp ebx, ecx
jb 0x46447e
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
movsx edi, bp
sub edi, edx
cmp edi, ecx
jb 0x464495
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
imul eax, edi
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
add eax, ebx
shl eax, 3
jmp 0x4644b2
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
call edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0xc]
mov ax, word [edx + eax + 6]
cmp ax, word [esp + 0x10]
jg 0x4645a1
test ecx, ecx
je 0x464512
cmp word [ecx], 2
jne 0x464512
mov edx, dword [esp + 0x24]
movsx ebx, word [edx]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub ebx, edx
cmp ebx, eax
jb 0x4644e6
call edi
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
movsx edi, bp
sub edi, edx
cmp edi, ecx
jb 0x4644fd
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
imul eax, edi
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
add eax, ebx
shl eax, 3
jmp 0x464514
call edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0xc]
mov ax, word [edx + eax + 6]
cmp ax, word [esp + 0x10]
jne 0x464580
test ecx, ecx
je 0x464570
cmp word [ecx], 2
jne 0x464570
mov edx, dword [esp + 0x24]
movsx ebx, word [edx]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub ebx, edx
cmp ebx, eax
jb 0x464544
call edi
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
movsx edi, bp
sub edi, edx
cmp edi, ecx
jb 0x46455b
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
imul eax, edi
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
add eax, ebx
shl eax, 3
jmp 0x464572
call edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + eax]
cmp eax, dword [esp + 0x20]
je 0x46459d
add bp, 1
jo 0x464657
cmp bp, 0xff
jle 0x464459
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
jmp 0x4645a1
mov dword [esp + 0x14], ebp
mov ecx, dword [esp + 0x14]
cmp cx, 0xffff
jg 0x4645e1
mov ax, word [esp + 0x10]
add ax, 1
jo 0x464657
cmp ax, 0x10
mov dword [esp + 0x10], eax
jle 0x46442c
cmp cx, 0xffff
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
jne 0x4645e1
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xc
ret 8
mov eax, dword [esi]
test eax, eax
je 0x46463c
cmp word [eax], 2
jne 0x46463c
mov ecx, dword [esp + 0x24]
movsx ebx, word [ecx]
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
sub ebx, edx
cmp ebx, ecx
jb 0x464602
call edi
mov eax, dword [esi]
movsx edi, word [esp + 0x14]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub edi, edx
cmp edi, ecx
jb 0x46461b
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
imul eax, edi
pop edi
add eax, ebx
pop esi
mov ecx, edx
mov edx, dword [ecx + 0xc]
shl eax, 3
mov ax, word [edx + eax + 4]
pop ebp
pop ebx
add esp, 0xc
ret 8
call edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0xc]
mov ax, word [edx + eax + 4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
jmp fcn.004029ec
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop